forked from AlexModGuy/Ice_and_Fire
-
Notifications
You must be signed in to change notification settings - Fork 0
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
1 parent
91974ad
commit 622d0b6
Showing
15 changed files
with
1,355 additions
and
153 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 |
---|---|---|
|
@@ -20,3 +20,6 @@ build | |
# 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. | ||
|
Large diffs are not rendered by default.
Oops, something went wrong.
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 |
---|---|---|
@@ -1 +1,53 @@ | ||
Dragons, Hypogriffs, Pixies, Oh my! | ||
------------------------------------------- | ||
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 "unrenamed" MCP source code (aka | ||
srgnames) - this means that you will not be able to read them directly against | ||
normal code. | ||
|
||
Source pack installation information: | ||
|
||
Standalone source installation | ||
============================== | ||
|
||
See the Forge Documentation online for more detailed instructions: | ||
http://mcforge.readthedocs.io/en/latest/gettingstarted/ | ||
|
||
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. | ||
(Current Issue) | ||
4. Open Project > Run/Debug Settings > Edit runClient and runServer > Environment | ||
5. Edit MOD_CLASSES to show [modid]%%[Path]; 2 times rather then the generated 4. | ||
|
||
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 processs again. | ||
|
||
Should it still not work, | ||
Refer to #ForgeGradle on EsperNet for more information about the gradle environment. | ||
or the Forge Project Discord discord.gg/UvedJ9m | ||
|
||
Forge source installation | ||
========================= | ||
MinecraftForge ships with this code and installs it as part of the forge | ||
installation process, no further action is required on your part. | ||
|
||
LexManos' Install Video | ||
======================= | ||
https://www.youtube.com/watch?v=8VEdtQLuLO0&feature=youtu.be | ||
|
||
For more details update more often refer to the Forge Forums: | ||
http://www.minecraftforge.net/forum/index.php/topic,14048.0.html |
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 |
---|---|---|
@@ -1,133 +1,142 @@ | ||
buildscript { | ||
repositories { | ||
mavenCentral() | ||
repositories { | ||
maven { url = 'https://files.minecraftforge.net/maven' } | ||
jcenter() | ||
mavenCentral() | ||
} | ||
dependencies { | ||
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true | ||
} | ||
} | ||
repositories{ | ||
maven { | ||
name = "forge" | ||
url = "http://files.minecraftforge.net/maven" | ||
name = "CurseForge" | ||
url = "https://minecraft.curseforge.com/api/maven/" | ||
} | ||
maven { | ||
name = "sonatype" | ||
url = "https://oss.sonatype.org/content/repositories/snapshots/" | ||
name = "Progwml6 maven" | ||
url = "https://dvs1.progwml6.com/files/maven/" | ||
} | ||
maven { | ||
name = "CurseForge" | ||
url = "https://minecraft.curseforge.com/api/maven/" | ||
name = "ModMaven" | ||
url = "https://modmaven.k-4u.nl" | ||
} | ||
} | ||
dependencies { | ||
classpath "net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT" | ||
} | ||
} | ||
apply plugin: 'net.minecraftforge.gradle.forge' | ||
//Only edit below this line, the above code adds and enables the nessasary things for Forge to be setup. | ||
|
||
version = "1.9.1" | ||
group= "iceandfire" | ||
archivesBaseName = "iceandfire" | ||
sourceCompatibility = targetCompatibility = "1.8" | ||
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' | ||
|
||
version = '2.0.0' | ||
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html | ||
archivesBaseName = 'iceandfire' | ||
|
||
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly. | ||
|
||
minecraft { | ||
version = "1.12.2-14.23.5.2768" | ||
runDir = "run" | ||
mappings = "stable_39" | ||
makeObfSourceJar = true | ||
} | ||
// The mappings can be changed at any time, and must be in the following format. | ||
// snapshot_YYYYMMDD Snapshot are built nightly. | ||
// stable_# Stables are built at the discretion of the MCP team. | ||
// 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: 'snapshot', version: '20200225-1.15.1' | ||
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. | ||
|
||
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') | ||
|
||
repositories { | ||
mavenCentral() | ||
maven { | ||
url = "http://maven.mcmoddev.com" | ||
} | ||
maven { | ||
name = "Mobius Repo" | ||
url = "http://tehnut.info/maven" | ||
} | ||
maven { | ||
name = "JEI" | ||
url = "http://dvs1.progwml6.com/files/maven" | ||
} | ||
maven { | ||
name = "gegy1000" | ||
url = "https://maven.gegy1000.net" | ||
} | ||
maven { | ||
name "Jared" | ||
url "http://maven.blamejared.com/" | ||
} | ||
maven { // mcjty | ||
name 'tterrag' | ||
url "https://maven.tterrag.com/" | ||
} | ||
maven { | ||
// location of the maven that hosts JEI files | ||
name = "Progwml6 maven" | ||
url = "http://dvs1.progwml6.com/files/maven" | ||
} | ||
maven { | ||
name = 'DVS1 Maven FS' | ||
url = 'http://dvs1.progwml6.com/files/maven' | ||
} | ||
// Default run configurations. | ||
// These can be tweaked, removed, or duplicated as needed. | ||
runs { | ||
client { | ||
workingDirectory project.file('run') | ||
|
||
maven { | ||
url = "https://minecraft.curseforge.com/api/maven/" | ||
} | ||
maven { | ||
// location of a maven mirror for JEI files, as a fallback | ||
name = "ModMaven" | ||
url = "modmaven.k-4u.nl" | ||
} | ||
// Recommended logging data for a userdev environment | ||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' | ||
|
||
} | ||
// Recommended logging level for the console | ||
property 'forge.logging.console.level', 'debug' | ||
|
||
dependencies { | ||
deobfCompile "net.ilexiconn:llibrary:1.7.9-1.12.2" | ||
deobfCompile "slimeknights.mantle:Mantle:1.12-1.3.1.21" | ||
deobfCompile "slimeknights:TConstruct:1.12.2-2.9.1.70" | ||
deobfCompile "mcp.mobius.waila:Hwyla:1.8.25-B40_1.12" | ||
runtime "mezz.jei:jei_1.12.2:4.9.1.181" | ||
deobfProvided "mezz.jei:jei_1.12.2:4.9.1.181:api" | ||
compile "baubles:Baubles:1.12:1.5.2" | ||
deobfCompile "thaumcraft:Thaumcraft:1.12.2:6.1.BETA26" | ||
compile "CraftTweaker2:CraftTweaker2-MC1120-Main:1.12-4.1.6.465" | ||
deobfCompile "mcjty.theoneprobe:TheOneProbe-1.12:1.12-1.4.28-17" | ||
} | ||
mods { | ||
examplemod { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
|
||
processResources | ||
{ | ||
// this will ensure that this task is redone when the versions change. | ||
inputs.property "version", project.version | ||
inputs.property "mcversion", project.minecraft.version | ||
|
||
// replace stuff in mcmod.info, nothing else | ||
from(sourceSets.main.resources.srcDirs) { | ||
include 'mcmod.info' | ||
|
||
// replace version and mcversion | ||
expand 'version':project.version, 'mcversion':project.minecraft.version | ||
} | ||
|
||
// copy everything else, thats not the mcmod.info | ||
from(sourceSets.main.resources.srcDirs) { | ||
exclude 'mcmod.info' | ||
server { | ||
workingDirectory project.file('run') | ||
|
||
// Recommended logging data for a userdev environment | ||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' | ||
|
||
// Recommended logging level for the console | ||
property 'forge.logging.console.level', 'debug' | ||
|
||
mods { | ||
examplemod { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
|
||
data { | ||
workingDirectory project.file('run') | ||
|
||
// Recommended logging data for a userdev environment | ||
property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' | ||
|
||
// Recommended logging level for the console | ||
property 'forge.logging.console.level', 'debug' | ||
|
||
args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/') | ||
|
||
mods { | ||
examplemod { | ||
source sourceSets.main | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
minecraft.coreMod = "com.github.alexthe666.iceandfire.asm.IceAndFirePlugin" | ||
dependencies { | ||
minecraft 'net.minecraftforge:forge:1.15.2-31.1.18' | ||
compileOnly fg.deobf("mezz.jei:jei-1.15.2:6.0.0.2:api") | ||
runtimeOnly fg.deobf("mezz.jei:jei-1.15.2:6.0.0.2") | ||
compile 'citadel:citadel:1.1.4:deobf' | ||
} | ||
|
||
// Example for how to get properties into the manifest for reading by the runtime.. | ||
jar { | ||
manifest { | ||
attributes 'FMLCorePlugin': "com.github.alexthe666.iceandfire.asm.IceAndFirePlugin", 'FMLCorePluginContainsFMLMod': true | ||
attributes([ | ||
"Specification-Title": "examplemod", | ||
"Specification-Vendor": "examplemodsareus", | ||
"Specification-Version": "1", // We are version 1 of ourselves | ||
"Implementation-Title": project.name, | ||
"Implementation-Version": "${version}", | ||
"Implementation-Vendor" :"examplemodsareus", | ||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") | ||
]) | ||
} | ||
} | ||
|
||
// Example configuration to allow publishing using the maven-publish task | ||
// 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') | ||
|
||
task devJar(type: Jar) { | ||
classifier = "dev" | ||
from sourceSets.main.output | ||
} | ||
|
||
jar { | ||
manifest { | ||
attributes "FMLAT": "iceandfire_at.cfg" | ||
publishing { | ||
publications { | ||
mavenJava(MavenPublication) { | ||
artifact jar | ||
} | ||
} | ||
repositories { | ||
maven { | ||
url "file:///${project.projectDir}/mcmodsrepo" | ||
} | ||
} | ||
} |
Oops, something went wrong.