Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
Alatyami committed Nov 13, 2023
2 parents 760365b + e27682f commit d832817
Show file tree
Hide file tree
Showing 2,124 changed files with 108,418 additions and 232 deletions.
62 changes: 62 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Growthcraft 7 for Minecraft 1.18.2 (Forge)

[![Growthcraft Version](https://img.shields.io/badge/Growthcraft-8.1.0-orange.svg)](https://github.com/GrowthcraftCE/Growthcraft-1.19)
[![](http://cf.way2muchnoise.eu/versions/growthcraft-community-edition_latest.svg)](https://minecraft.curseforge.com/projects/growthcraft-community-edition/)
[![](http://cf.way2muchnoise.eu/short_growthcraft-community-edition.svg)](https://minecraft.curseforge.com/projects/growthcraft-community-edition/)
[![Forge Version](https://img.shields.io/badge/Minecraft%20Forge-43.1.7-yellow.svg)](http://files.minecraftforge.net/maven/net/minecraftforge/forge/index_1.19.3.html)

[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FGrowthcraftCE%2FGrowthcraft-1.19%2Fbadge%3Fref%3Ddevelopment&style=flat)](https://actions-badge.atrox.dev/GrowthcraftCE/Growthcraft-1.19/goto?ref=development)
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/GrowthcraftCE/Growthcraft-1.19)
[![Discord Channel](https://img.shields.io/discord/333690296334548994.svg?color=green)](https://discord.gg/Quh76Jn)

Welcome to Growthcraft. Growthcraft is a collection of Minecraft mods that adds an extra layer of immersion into the
world of Minecraft. Growthcraft adds the ability to grow Apple tress, collect honey from bees, grow hops and grapes on vines that will crawl along rope. You can make cheese, yogurt, ice cream, butter, rice for a flavorfull meal. Additionally, you can make Ale, Wine, Juice, Ciders, kumis, and sake and make it extra potent for a stronger affect.

## Getting Started

There are multiple starting points to Growthcraft. As we continue to develop and expand Growthcraft, we will be adding to our GitHub wiki documentation.

## History

### Growthcraft 8 (Minecraft 1.19)

End of Support: TBD
Latest Version: 8.1.0
Stable Version: TBD

### Growthcraft 7 (Minecraft 1.18)

End of Support: TBD
Latest Version: 7.0.0
Stable Version: TBD

### Growthcraft 6 (Minecraft 1.16)

Going from Minecraft Forge 1.12 to 1.16 made a lot of changes to the MCP mappings to the point that it prompted a
complete rewrite from the ground.

### Growthcraft 4 (Minecraft 1.12.2)



### Growthcraft 2 (Minecraft 1.7.10)

End of Support: 11 AUG 2018
Latest Version: 2.7.2
Stable Version: 2.7.2

Growthcraft 2 was a major re-release of Gwafu's original work. In 2015, the Growthcraft
"Community Edition" Team was given permission to take over the mod development.

In this version, we added village structures. We added two additional sub-muodules, Growthcraft Milk and Rice. These new
mods added, Cheese, yogurt, ice cream, Sake, Rice, rice and thistle crops. When we first rolled out the thistle crop, it
was k nown to wildly grow and take over entire worlds.

### Growthcraft 1 (Minecraft 1.7.2)

End of Support: 13 JUL 2014
Latest Version: 2.1.0a
Stable Version: 2.1.0a

The original Growthcraft mod was created and developed by Gwafu. He did a lot of improving it over a period of three
years.
188 changes: 95 additions & 93 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,158 +2,146 @@ 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.+'
}
}

plugins {
id 'eclipse'
id 'maven-publish'
id "org.sonarqube" version "3.4.0.2513"
}

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: 'org.parchmentmc.librarian.forgegradle'

version = "${minecraft_version}-${growthcraft_version}"
group = 'growthcraft'
archivesBaseName = 'growthcraft'

version = '1.0'
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'modid'
sonarqube {
properties {
property "sonar.projectKey", "Growthcraft-1.18"
property "sonar.organization", "growthcraftce"
property "sonar.host.url", "https://sonarcloud.io"
}
}

// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
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('========================================')
println('Java: ' + System.getProperty('java.version'))
println(' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ')')
println('Arch: ' + System.getProperty('os.arch'))
println("Build Version: ${growthcraft_version}")
println('----------------------------------------')

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: 'official', version: '1.18'

// 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.
// Mappings
mappings channel: 'official', version: "${minecraft_version}"
// Access Transformers, this is a fixed path.
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')

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'
property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"

mods {
examplemod {
growthcraft {
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'
property 'forge.logging.console.level', 'debug'
property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"

// 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
mods {
growthcraft { source sourceSets.main }
}
}

gameTestServer {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
property 'forge.enabledGameTestNamespaces', 'growthcraft'
property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"

mods {
examplemod {
growthcraft {
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'
property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"

// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
args '--flat', '--all', 'validate',
'--mod', 'growthcraft',
'--output', file('src/generated/resources/'),
'--existing', file('src/main/resources/')

mods {
examplemod {
source sourceSets.main
}
growthcraft { source sourceSets.main }
}
}
}
}

// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }

/**
* Project Dependent Repositories
* ForgeGradle automatically adds the Forge maven and Maven Central for you
*/
repositories {
// 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'
// }
// Curse Forge
maven { url "https://www.cursemaven.com" }
}

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-38.0.17'

// 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
minecraft "net.minecraftforge:forge:${forge_version}"

// compile against the JEI API but do not include it at runtime
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}:${jei_version}:api")

// Runtime mods for testing
runtimeOnly fg.deobf("curse.maven:theoneprobe-${curseforge_theoneprobe}")
runtimeOnly fg.deobf("curse.maven:jei-${curseforge_jei}")
runtimeOnly fg.deobf("curse.maven:patchouli-${curseforge_patchouli}")
runtimeOnly fg.deobf("curse.maven:appleskin-${curseforge_appleskin}")
}

// Example for how to get properties into the manifest for reading at runtime.
jar {
manifest {
attributes([
"Specification-Title" : "examplemod",
"Specification-Vendor" : "examplemodsareus",
"Specification-Version" : "1", // We are version 1 of ourselves
"Implementation-Title" : project.name,
"Implementation-Version" : project.jar.archiveVersion,
"Implementation-Vendor" : "examplemodsareus",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
"Specification-Title": "growthcraft",
"Specification-Vendor": "growthcraft",
"Specification-Version": "7",
"Implementation-Title": project.name,
"Implementation-Version": "${growthcraft_version}",
"Implementation-Vendor" :"growthcraft",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
Expand All @@ -164,6 +152,20 @@ 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 sourcesJar(type: Jar) {
from sourceSets.main.allJava
classifier = 'src'
}

task deobjJar(type: Jar) {
from sourceSets.main.output
classifier 'deobf'
}

artifacts {
archives sourcesJar, deobjJar
}

publishing {
publications {
mavenJava(MavenPublication) {
Expand Down
42 changes: 40 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,42 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process.
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
org.gradle.jvmargs=-Xmx2G
org.gradle.daemon=false
# Versioning Scheme
# 7.x.x
# | | Bug Fix / Maintenance Release
# | Feature Release
# Product Release
growthcraft_version=7.1.0

# Changing these values prompts a Product release
minecraft_version=1.18.2
minecraft_version_short=1.18

# Change these values prompts a Feature release
# https://files.minecraftforge.net/net/minecraftforge/forge/index_1.19.4.html
forge_version=1.18.2-40.2.10

# Mod Compatibility
# ------------------------------------------------
# Mod Title - Curse Forge URL
# curseforge_MODNAME=CURSE_PROJ_ID:CURSE_FILE_ID
# ------------------------------------------------
# Growthcraft Trapper - https://www.curseforge.com/minecraft/mc-mods/growthcraft-trapper/files
curseforge_growthcraft_trapper=453124:4458345
# ------------------------------------------------
# Growthcraft Decorations - https://www.curseforge.com/minecraft/mc-mods/growthcraft-decorations/files
curseforge_growthcraft_deco=454039:3859414
# JEI - https://www.curseforge.com/minecraft/mc-mods/jei/files
curseforge_jei=238222:4593548
jei_version=10.2.1.1005
# ------------------------------------------------
# TheOneProbe https://www.curseforge.com/minecraft/mc-mods/the-one-probe/files
curseforge_theoneprobe=245211:3965688
# ------------------------------------------------
# Patchouli https://www.curseforge.com/minecraft/mc-mods/patchouli/files
# 2023.04.23 - Not available for 1.19.4
curseforge_patchouli=306770:3846086
# ------------------------------------------------
# AppleSkin https://www.curseforge.com/minecraft/mc-mods/appleskin/files
curseforge_appleskin=248787:4770822
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit d832817

Please sign in to comment.