-
Notifications
You must be signed in to change notification settings - Fork 94
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit ef5fd6a
Showing
39 changed files
with
2,020 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Disable autocrlf on generated files, they always generate with LF | ||
# Add any extra files or paths here to make git stop saying they | ||
# are changed when only line endings change. | ||
src/generated/**/.cache/cache text eol=lf | ||
src/generated/**/*.json text eol=lf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# eclipse | ||
bin | ||
*.launch | ||
.settings | ||
.metadata | ||
.classpath | ||
.project | ||
|
||
# idea | ||
out | ||
*.ipr | ||
*.iws | ||
*.iml | ||
.idea | ||
|
||
# gradle | ||
build | ||
.gradle | ||
|
||
# other | ||
eclipse | ||
run | ||
|
||
# Files from Forge MDK | ||
forge*changelog.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
Minecraft Forge: Credits/Thank You | ||
|
||
Forge is a set of tools and modifications to the Minecraft base game code to assist | ||
mod developers in creating new and exciting content. It has been in development for | ||
several years now, but I would like to take this time thank a few people who have | ||
helped it along it's way. | ||
|
||
First, the people who originally created the Forge projects way back in Minecraft | ||
alpha. Eloraam of RedPower, and SpaceToad of Buildcraft, without their acceptiance | ||
of me taking over the project, who knows what Minecraft modding would be today. | ||
|
||
Secondly, someone who has worked with me, and developed some of the core features | ||
that allow modding to be as functional, and as simple as it is, cpw. For developing | ||
FML, which stabelized the client and server modding ecosystem. As well as the base | ||
loading system that allows us to modify Minecraft's code as elegently as possible. | ||
|
||
Mezz, who has stepped up as the issue and pull request manager. Helping to keep me | ||
sane as well as guiding the community into creating better additions to Forge. | ||
|
||
Searge, Bspks, Fesh0r, ProfMobious, and all the rest over on the MCP team {of which | ||
I am a part}. For creating some of the core tools needed to make Minecraft modding | ||
both possible, and as stable as can be. | ||
On that note, here is some specific information of the MCP data we use: | ||
* Minecraft Coder Pack (MCP) * | ||
Forge Mod Loader and Minecraft Forge have permission to distribute and automatically | ||
download components of MCP and distribute MCP data files. This permission is not | ||
transitive and others wishing to redistribute the Minecraft Forge source independently | ||
should seek permission of MCP or remove the MCP data files and request their users | ||
to download MCP separately. | ||
|
||
And lastly, the countless community members who have spent time submitting bug reports, | ||
pull requests, and just helping out the community in general. Thank you. | ||
|
||
--LexManos | ||
|
||
========================================================================= | ||
|
||
This is Forge Mod Loader. | ||
|
||
You can find the source code at all times at https://github.com/MinecraftForge/MinecraftForge/tree/1.12.x/src/main/java/net/minecraftforge/fml | ||
|
||
This minecraft mod is a clean open source implementation of a mod loader for minecraft servers | ||
and minecraft clients. | ||
|
||
The code is authored by cpw. | ||
|
||
It began by partially implementing an API defined by the client side ModLoader, authored by Risugami. | ||
http://www.minecraftforum.net/topic/75440- | ||
This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader. | ||
|
||
It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge. | ||
http://www.minecraftforge.net/ | ||
|
||
Additionally, it contains an implementation of topological sort based on that | ||
published at http://keithschwarz.com/interesting/code/?dir=topological-sort | ||
|
||
It also contains code from the Maven project for performing versioned dependency | ||
resolution. http://maven.apache.org/ | ||
|
||
It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/ | ||
with credit to it's authors. | ||
|
||
Forge Mod Loader downloads components from the Minecraft Coder Pack | ||
(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Hex | ||
|
||
A minecraft mod about casting spells, inspired by PSI. | ||
|
||
## To Cast A Spell | ||
|
||
- Get a Wand, which stores mana. | ||
- Right-click with it to start casting a *Hex*. | ||
- Look around to draw a *pattern*, a sequence of lines on the invisible hexagonal grid that permeates reality. | ||
- When you are done with your pattern, release right-click. Hopefully, that pattern corresponds to an *action*. (If not, | ||
you blow up.) | ||
- Actions manipulate a stack of data. The stack starts empty when you first start casting a hex. Some actions just push | ||
data, while some pop off some arguments and push some arguments in return. | ||
- Certain actions, will push a *spell* to the stack. When the stack is empty except for one spell, the hex is | ||
successfully cast with the given effect. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
|
||
Source installation information for modders | ||
------------------------------------------- | ||
This code follows the Minecraft Forge installation methodology. It will apply | ||
some small patches to the vanilla MCP source code, giving you and it access | ||
to some of the data and functions you need to build a successful mod. | ||
|
||
Note also that the patches are built against "un-renamed" MCP source code (aka | ||
SRG Names) - this means that you will not be able to read them directly against | ||
normal code. | ||
|
||
Setup Process: | ||
============================== | ||
|
||
Step 1: Open your command-line and browse to the folder where you extracted the zip file. | ||
|
||
Step 2: You're left with a choice. | ||
If you prefer to use Eclipse: | ||
1. Run the following command: `gradlew genEclipseRuns` (`./gradlew genEclipseRuns` if you are on Mac/Linux) | ||
2. Open Eclipse, Import > Existing Gradle Project > Select Folder | ||
or run `gradlew eclipse` to generate the project. | ||
|
||
If you prefer to use IntelliJ: | ||
1. Open IDEA, and import project. | ||
2. Select your build.gradle file and have it import. | ||
3. Run the following command: `gradlew genIntellijRuns` (`./gradlew genIntellijRuns` if you are on Mac/Linux) | ||
4. Refresh the Gradle Project in IDEA if required. | ||
|
||
If at any point you are missing libraries in your IDE, or you've run into problems you can | ||
run `gradlew --refresh-dependencies` to refresh the local cache. `gradlew clean` to reset everything | ||
{this does not affect your code} and then start the process again. | ||
|
||
Mapping Names: | ||
============================= | ||
By default, the MDK is configured to use the official mapping names from Mojang for methods and fields | ||
in the Minecraft codebase. These names are covered by a specific license. All modders should be aware of this | ||
license, if you do not agree with it you can change your mapping names to other crowdsourced names in your | ||
build.gradle. For the latest license text, refer to the mapping file itself, or the reference copy here: | ||
https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md | ||
|
||
Additional Resources: | ||
========================= | ||
Community Documentation: http://mcforge.readthedocs.io/en/latest/gettingstarted/ | ||
LexManos' Install Video: https://www.youtube.com/watch?v=8VEdtQLuLO0 | ||
Forge Forum: https://forums.minecraftforge.net/ | ||
Forge Discord: https://discord.gg/UvedJ9m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,207 @@ | ||
buildscript { | ||
repositories { | ||
// These repositories are only for Gradle plugins, put any other repositories in the repository block further below | ||
maven { url = 'https://maven.minecraftforge.net' } | ||
maven { url = 'https://maven.parchmentmc.org' } | ||
mavenCentral() | ||
} | ||
dependencies { | ||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true | ||
classpath 'org.parchmentmc:librarian:1.+' | ||
} | ||
} | ||
apply plugin: 'net.minecraftforge.gradle' | ||
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. | ||
apply plugin: 'eclipse' | ||
apply plugin: 'maven-publish' | ||
apply plugin: 'net.minecraftforge.gradle' | ||
apply plugin: 'org.parchmentmc.librarian.forgegradle' | ||
|
||
version = '0.1.0' | ||
group = 'at.petra-k.hex' // http://maven.apache.org/guides/mini/guide-naming-conventions.html | ||
archivesBaseName = 'hex' | ||
|
||
// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17. | ||
java.toolchain.languageVersion = JavaLanguageVersion.of(17) | ||
|
||
// Adds the Kotlin Gradle plugin | ||
buildscript { | ||
dependencies { | ||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0" | ||
// OPTIONAL Kotlin Serialization plugin | ||
classpath 'org.jetbrains.kotlin:kotlin-serialization:1.6.0' | ||
} | ||
} | ||
apply plugin: 'kotlin' | ||
// OPTIONAL Kotlin Serialization plugin | ||
apply plugin: 'kotlinx-serialization' | ||
|
||
// Adds KFF as dependency and Kotlin libs to the runtime classpath | ||
// If you already know how to add the Kotlin plugin to Gradle, this is the only line you need for KFF | ||
apply from: 'https://raw.githubusercontent.com/thedarkcolour/KotlinForForge/site/thedarkcolour/kotlinforforge/gradle/kff-3.0.0.gradle' | ||
|
||
println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch')) | ||
minecraft { | ||
// The mappings can be changed at any time and must be in the following format. | ||
// Channel: Version: | ||
// snapshot YYYYMMDD Snapshot are built nightly. | ||
// stable # Stables are built at the discretion of the MCP team. | ||
// official MCVersion Official field/method names from Mojang mapping files | ||
// | ||
// You must be aware of the Mojang license when using the 'official' mappings. | ||
// See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md | ||
// | ||
// Use non-default mappings at your own risk. They may not always work. | ||
// Simply re-run your setup task after changing the mappings to update your workspace. | ||
mappings channel: 'parchment', version: '2021.12.19-1.18.1' | ||
|
||
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') // Currently, this location cannot be changed from the default. | ||
|
||
// Default run configurations. | ||
// These can be tweaked, removed, or duplicated as needed. | ||
runs { | ||
client { | ||
workingDirectory project.file('run') | ||
|
||
// Recommended logging data for a userdev environment | ||
// The markers can be added/remove as needed separated by commas. | ||
// "SCAN": For mods scan. | ||
// "REGISTRIES": For firing of registry events. | ||
// "REGISTRYDUMP": For getting the contents of all registries. | ||
property 'forge.logging.markers', 'REGISTRIES' | ||
|
||
// Recommended logging level for the console | ||
// You can set various levels here. | ||
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels | ||
property 'forge.logging.console.level', 'debug' | ||
|
||
mods { | ||
hex { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
|
||
server { | ||
workingDirectory project.file('run') | ||
|
||
// Recommended logging data for a userdev environment | ||
// The markers can be added/remove as needed separated by commas. | ||
// "SCAN": For mods scan. | ||
// "REGISTRIES": For firing of registry events. | ||
// "REGISTRYDUMP": For getting the contents of all registries. | ||
property 'forge.logging.markers', 'REGISTRIES' | ||
|
||
// Recommended logging level for the console | ||
// You can set various levels here. | ||
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels | ||
property 'forge.logging.console.level', 'debug' | ||
|
||
mods { | ||
hex { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
|
||
data { | ||
workingDirectory project.file('run') | ||
|
||
// Recommended logging data for a userdev environment | ||
// The markers can be added/remove as needed separated by commas. | ||
// "SCAN": For mods scan. | ||
// "REGISTRIES": For firing of registry events. | ||
// "REGISTRYDUMP": For getting the contents of all registries. | ||
property 'forge.logging.markers', 'REGISTRIES' | ||
|
||
// Recommended logging level for the console | ||
// You can set various levels here. | ||
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels | ||
property 'forge.logging.console.level', 'debug' | ||
|
||
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources. | ||
args '--mod', 'hex', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') | ||
|
||
mods { | ||
hex { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
// Include resources generated by data generators. | ||
sourceSets.main.resources { srcDir 'src/generated/resources' } | ||
|
||
repositories { | ||
mavenCentral() | ||
// Put repositories for dependencies here | ||
// ForgeGradle automatically adds the Forge maven and Maven Central for you | ||
|
||
// If you have mod jar dependencies in ./libs, you can declare them as a repository like so: | ||
// flatDir { | ||
// dir 'libs' | ||
// } | ||
} | ||
|
||
dependencies { | ||
// Specify the version of Minecraft to use. If this is any group other than 'net.minecraft', it is assumed | ||
// that the dep is a ForgeGradle 'patcher' dependency, and its patches will be applied. | ||
// The userdev artifact is a special name and will get all sorts of transformations applied to it. | ||
minecraft 'net.minecraftforge:forge:1.18.1-39.0.8' | ||
|
||
// Real mod deobf dependency examples - these get remapped to your current mappings | ||
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}:api") // Adds JEI API as a compile dependency | ||
// runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}") // Adds the full JEI mod as a runtime dependency | ||
// implementation fg.deobf("com.tterrag.registrate:Registrate:MC${mc_version}-${registrate_version}") // Adds registrate as a dependency | ||
|
||
// Examples using mod jars from ./libs | ||
// implementation fg.deobf("blank:coolmod-${mc_version}:${coolmod_version}") | ||
|
||
// For more info... | ||
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html | ||
// http://www.gradle.org/docs/current/userguide/dependency_management.html | ||
} | ||
|
||
// Example for how to get properties into the manifest for reading at runtime. | ||
jar { | ||
manifest { | ||
attributes([ | ||
"Specification-Title" : "hex", | ||
"Specification-Vendor" : "petrak-at", | ||
"Specification-Version" : "1", // We are version 1 of ourselves | ||
"Implementation-Title" : project.name, | ||
"Implementation-Version" : project.jar.archiveVersion, | ||
"Implementation-Vendor" : "petrak-at", | ||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") | ||
]) | ||
} | ||
} | ||
|
||
// Example configuration to allow publishing using the maven-publish plugin | ||
// This is the preferred method to reobfuscate your jar file | ||
jar.finalizedBy('reobfJar') | ||
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing | ||
// publish.dependsOn('reobfJar') | ||
|
||
publishing { | ||
publications { | ||
mavenJava(MavenPublication) { | ||
artifact jar | ||
} | ||
} | ||
repositories { | ||
maven { | ||
url "file://${project.projectDir}/mcmodsrepo" | ||
} | ||
} | ||
} | ||
compileKotlin { | ||
kotlinOptions { | ||
} | ||
} | ||
compileTestKotlin { | ||
kotlinOptions { | ||
} | ||
} |
Oops, something went wrong.