Added Curios API
This commit is contained in:
parent
138786a53f
commit
772e89cfd7
4 changed files with 40 additions and 101 deletions
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
"java.configuration.updateBuildConfiguration": "interactive"
|
"java.configuration.updateBuildConfiguration": "automatic"
|
||||||
}
|
}
|
||||||
27
README.md
27
README.md
|
|
@ -1,15 +1,17 @@
|
||||||
|
|
||||||
Utility Rings
|
# Utility Rings
|
||||||
=======
|
=======
|
||||||
A small mod that adds in a ring to turn lava within one block of the player into obsidian
|
A small mod that adds in a ring to turn lava within one block of the player into obsidian
|
||||||
|
|
||||||
Setup the project to contribute:
|
## Setup the project to contribute:
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Step 1: Open your command-line and browse to the project directory
|
### Step 1:
|
||||||
|
Open your command-line and browse to the project directory
|
||||||
|
|
||||||
Step 2: You're left with a choice.
|
### Step 2:
|
||||||
If you prefer to use Eclipse:
|
You're left with a choice.
|
||||||
|
**If you prefer to use Eclipse**:
|
||||||
1. Run the following command to generate the runners for the mod in eclipse (Client,Server,Data,GameTestServer):
|
1. Run the following command to generate the runners for the mod in eclipse (Client,Server,Data,GameTestServer):
|
||||||
Windows: `./gradlew.bat genEclipseRuns`
|
Windows: `./gradlew.bat genEclipseRuns`
|
||||||
Linux/MacOS: `./gradlew genEclipseRuns`
|
Linux/MacOS: `./gradlew genEclipseRuns`
|
||||||
|
|
@ -17,7 +19,7 @@ If you prefer to use Eclipse:
|
||||||
Windows: `./gradlew.bat eclipse`
|
Windows: `./gradlew.bat eclipse`
|
||||||
Linux/MacOS: `./gradlew eclipse`
|
Linux/MacOS: `./gradlew eclipse`
|
||||||
|
|
||||||
If you prefer to use IntelliJ:
|
**If you prefer to use IntelliJ**:
|
||||||
1. Open IDEA, and import project.
|
1. Open IDEA, and import project.
|
||||||
2. Import the project by pointing IntelliJ to the build.gradle file.
|
2. Import the project by pointing IntelliJ to the build.gradle file.
|
||||||
3. Run the following command to generate the runners for the mod in IntelliJ (Client,Server,Data,GameTestServer):
|
3. Run the following command to generate the runners for the mod in IntelliJ (Client,Server,Data,GameTestServer):
|
||||||
|
|
@ -25,18 +27,19 @@ If you prefer to use IntelliJ:
|
||||||
Linux/MacOS: `./gradlew genIntellijRuns`
|
Linux/MacOS: `./gradlew genIntellijRuns`
|
||||||
4. Refresh the Gradle Project in IDEA if required.
|
4. Refresh the Gradle Project in IDEA if required.
|
||||||
|
|
||||||
|
**If you prefer to use VSCode**:
|
||||||
|
1. Run the following command to generate the runners for the mod in VSCode (Client,Server,Data,GameTestServer):
|
||||||
|
Windows: `./gradlew.bat genVSCodeRuns`
|
||||||
|
Linux/MacOS: `./gradlew genVSCodeRuns`
|
||||||
|
2. Open the project in VSCode by running `code .`
|
||||||
|
|
||||||
If at any point you are missing libraries in your IDE, or you've run into problems you can
|
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
|
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.
|
{this does not affect your code} and then start the process again.
|
||||||
|
|
||||||
Mapping Names:
|
Mapping Names:
|
||||||
============
|
============
|
||||||
By default, the MDK is configured to use the official mapping names from Mojang for methods and fields
|
This Project uses the mappings provided by [ParchmentMC](https://parchmentmc.org/docs/getting-started)
|
||||||
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/NeoForged/NeoForm/blob/main/Mojang.md
|
|
||||||
|
|
||||||
Credit:
|
Credit:
|
||||||
=======
|
=======
|
||||||
- sinkillerj the developer of [Project E](https://github.com/sinkillerj/ProjectE) for basic iron band texture.
|
- sinkillerj the developer of [Project E](https://github.com/sinkillerj/ProjectE) for basic iron band texture.
|
||||||
|
|
|
||||||
55
build.gradle
55
build.gradle
|
|
@ -6,8 +6,8 @@ plugins {
|
||||||
id 'org.parchmentmc.librarian.forgegradle' version '1.2.0'
|
id 'org.parchmentmc.librarian.forgegradle' version '1.2.0'
|
||||||
id 'org.spongepowered.mixin' version '0.7.+'
|
id 'org.spongepowered.mixin' version '0.7.+'
|
||||||
}
|
}
|
||||||
version = '1.20-0.1.0'
|
version = mod_version
|
||||||
group = 'com.skdevstudios'
|
group = mod_group_id
|
||||||
|
|
||||||
base {
|
base {
|
||||||
archivesName = 'util_rings'
|
archivesName = 'util_rings'
|
||||||
|
|
@ -18,26 +18,8 @@ java.toolchain.languageVersion = JavaLanguageVersion.of(17)
|
||||||
|
|
||||||
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
|
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
|
||||||
minecraft {
|
minecraft {
|
||||||
// The mappings can be changed at any time and must be in the following format.
|
|
||||||
// Channel: Version:
|
|
||||||
// official MCVersion Official field/method names from Mojang mapping files
|
|
||||||
// parchment YYYY.MM.DD-MCVersion Open community-sourced parameter names and javadocs layered on top of official
|
|
||||||
//
|
|
||||||
// You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
|
|
||||||
// See more information here: https://github.com/NeoForged/NeoForm/blob/main/Mojang.md
|
|
||||||
//
|
|
||||||
// Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge
|
|
||||||
// Additional setup is needed to use their mappings: https://parchmentmc.org/docs/getting-started
|
|
||||||
//
|
|
||||||
// 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: '2023.09.03-1.20.1'
|
mappings channel: 'parchment', version: '2023.09.03-1.20.1'
|
||||||
|
|
||||||
// When true, this property will have all Eclipse/IntelliJ IDEA run configurations run the "prepareX" task for the given run configuration before launching the game.
|
|
||||||
// In most cases, it is not necessary to enable.
|
|
||||||
// enableEclipsePrepareRuns = true
|
|
||||||
// enableIdeaPrepareRuns = true
|
|
||||||
|
|
||||||
// This property allows configuring Gradle's ProcessResources task(s) to run on IDE output locations before launching the game.
|
// This property allows configuring Gradle's ProcessResources task(s) to run on IDE output locations before launching the game.
|
||||||
// It is REQUIRED to be set to true for this template to function.
|
// It is REQUIRED to be set to true for this template to function.
|
||||||
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
|
// See https://docs.gradle.org/current/dsl/org.gradle.language.jvm.tasks.ProcessResources.html
|
||||||
|
|
@ -86,10 +68,14 @@ minecraft {
|
||||||
client {
|
client {
|
||||||
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
|
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
|
||||||
property 'forge.enabledGameTestNamespaces', mod_id
|
property 'forge.enabledGameTestNamespaces', mod_id
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
property 'forge.enabledGameTestNamespaces', mod_id
|
property 'forge.enabledGameTestNamespaces', mod_id
|
||||||
|
property 'mixin.env.remapRefMap', 'true'
|
||||||
|
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
|
||||||
args '--nogui'
|
args '--nogui'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -114,14 +100,10 @@ minecraft {
|
||||||
sourceSets.main.resources { srcDir 'src/generated/resources' }
|
sourceSets.main.resources { srcDir 'src/generated/resources' }
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
// Put repositories for dependencies here
|
maven {
|
||||||
// NeoGradle automatically adds the Forge maven and Maven Central for you
|
name = "Illusive Soulworks maven"
|
||||||
|
url = "https://maven.theillusivec4.top/"
|
||||||
// If you have mod jar dependencies in ./libs, you can declare them as a repository like so.
|
}
|
||||||
// See https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:flat_dir_resolver
|
|
||||||
// flatDir {
|
|
||||||
// dir 'libs'
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
|
@ -131,21 +113,8 @@ dependencies {
|
||||||
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
|
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
|
||||||
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
|
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
|
||||||
minecraft "net.neoforged:forge:${minecraft_version}-${neo_version}"
|
minecraft "net.neoforged:forge:${minecraft_version}-${neo_version}"
|
||||||
|
compileOnly(fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}:api"))
|
||||||
// Example mod dependency with JEI - using fg.deobf() ensures the dependency is remapped to your development mappings
|
runtimeOnly(fg.deobf("top.theillusivec4.curios:curios-forge:${curios_version}"))
|
||||||
// The JEI API is declared for compile time use, while the full JEI artifact is used at runtime
|
|
||||||
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}-common-api:${jei_version}")
|
|
||||||
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}-forge-api:${jei_version}")
|
|
||||||
// runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}-forge:${jei_version}")
|
|
||||||
|
|
||||||
// Example mod dependency using a mod jar from ./libs with a flat dir repository
|
|
||||||
// This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
|
|
||||||
// The group id is ignored when searching -- in this case, it is "blank"
|
|
||||||
// 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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This block of code expands all declared replace properties in the specified resource targets.
|
// This block of code expands all declared replace properties in the specified resource targets.
|
||||||
|
|
|
||||||
|
|
@ -5,57 +5,24 @@ org.gradle.daemon=false
|
||||||
|
|
||||||
|
|
||||||
## Environment Properties
|
## Environment Properties
|
||||||
|
|
||||||
# The Minecraft version must agree with the Neo version to get a valid artifact
|
|
||||||
minecraft_version=1.20.1
|
minecraft_version=1.20.1
|
||||||
# The Minecraft version range can use any release version of Minecraft as bounds.
|
|
||||||
# Snapshots, pre-releases, and release candidates are not guaranteed to sort properly
|
|
||||||
# as they do not follow standard versioning conventions.
|
|
||||||
minecraft_version_range=[1.20,1.21)
|
minecraft_version_range=[1.20,1.21)
|
||||||
# The Neo version must agree with the Minecraft version to get a valid artifact
|
|
||||||
neo_version=47.1.65
|
neo_version=47.1.65
|
||||||
# The Neo version range can use any version of Neo as bounds or match the loader version range
|
|
||||||
neo_version_range=[47.1,)
|
neo_version_range=[47.1,)
|
||||||
# The loader version range can only use the major version of Neo/FML as bounds
|
|
||||||
loader_version_range=[47,)
|
loader_version_range=[47,)
|
||||||
# The mapping channel to use for mappings.
|
mapping_channel=parchment
|
||||||
# The default set of supported mapping channels are ["official", "snapshot", "snapshot_nodoc", "stable", "stable_nodoc"].
|
mapping_version=2023.09.03-1.20.1
|
||||||
# Additional mapping channels can be registered through the "channelProviders" extension in a Gradle plugin.
|
|
||||||
#
|
|
||||||
# | Channel | Version | |
|
|
||||||
# |-----------|----------------------|--------------------------------------------------------------------------------|
|
|
||||||
# | official | MCVersion | Official field/method names from Mojang mapping files |
|
|
||||||
# | parchment | YYYY.MM.DD-MCVersion | Open community-sourced parameter names and javadocs layered on top of official |
|
|
||||||
#
|
|
||||||
# You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
|
|
||||||
# See more information here: https://github.com/neoforged/NeoForm/blob/main/Mojang.md
|
|
||||||
#
|
|
||||||
# Parchment is an unofficial project maintained by ParchmentMC, separate from Minecraft Forge.
|
|
||||||
# Additional setup is needed to use their mappings, see https://parchmentmc.org/docs/getting-started
|
|
||||||
mapping_channel=official
|
|
||||||
# The mapping version to query from the mapping channel.
|
|
||||||
# This must match the format required by the mapping channel.
|
|
||||||
mapping_version=1.20.1
|
|
||||||
|
|
||||||
|
|
||||||
## Mod Properties
|
## Mod Properties
|
||||||
|
mod_id=util_rings
|
||||||
# The unique mod identifier for the mod. Must be lowercase in English locale. Must fit the regex [a-z][a-z0-9_]{1,63}
|
mod_name=Utility Rings
|
||||||
# Must match the String constant located in the main mod class annotated with @Mod.
|
mod_license=MIT
|
||||||
mod_id=examplemod
|
mod_version=1.20-0.1.0
|
||||||
# The human-readable display name for the mod.
|
mod_group_id=com.skdevstudios
|
||||||
mod_name=Example Mod
|
mod_authors=Steven'specCon18'Carpenter
|
||||||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
mod_description=Adds a set of rings for the curios ring slot that solve small issues in mc ex.) I fucking hate lava in my mines :P
|
||||||
mod_license=All Rights Reserved
|
|
||||||
# The mod version. See https://semver.org/
|
|
||||||
mod_version=1.0.0
|
|
||||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
|
||||||
# This should match the base package used for the mod sources.
|
|
||||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
|
||||||
mod_group_id=com.example.examplemod
|
|
||||||
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.
|
|
||||||
mod_authors=YourNameHere, OtherNameHere
|
|
||||||
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
|
|
||||||
mod_description=Example mod description.\nNewline characters can be used and will be replaced properly.
|
|
||||||
# Pack version - this changes each minecraft release, in general.
|
|
||||||
pack_format_number=15
|
pack_format_number=15
|
||||||
|
|
||||||
|
##Curios API Properties
|
||||||
|
curios_version=5.3.4+1.20.1
|
||||||
Reference in a new issue