Skip to content

Commit

Permalink
Ported to NeoForge 1.20.4.
Browse files Browse the repository at this point in the history
  • Loading branch information
Flanks255 committed Feb 3, 2024
1 parent 95fe908 commit c17597a
Show file tree
Hide file tree
Showing 35 changed files with 231 additions and 206 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,4 @@ jobs:
CURSEFORGE_KEY: ${{ secrets.CURSEFORGE_KEY }}
run: |
chmod +x ./gradlew
./gradlew build curseforge --stacktrace --no-daemon
./gradlew build publishMods --stacktrace --no-daemon
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ run/
.gradle/
.idea/
/logs/
/runs/
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
### [1.20.4 / 1.4.6]
- Ported to 1.20.4 NeoForge
155 changes: 67 additions & 88 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,23 +1,10 @@
buildscript {
repositories {
maven { url = 'https://maven.creeperhost.net/' }
maven { url = 'https://maven.minecraftforge.net' }
maven { url = 'https://maven.parchmentmc.org' }
maven { url = "https://plugins.gradle.org/m2/" }
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
classpath 'org.parchmentmc:librarian:1.+'
classpath "gradle.plugin.com.matthewprenger:CurseGradle:1.4.0"
}
plugins {
id 'java-library'
id 'idea'
id 'maven-publish'
id 'net.neoforged.gradle.userdev' version '7.0.84'
id "me.modmuss50.mod-publish-plugin" version "0.4.5"
}
apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'org.parchmentmc.librarian.forgegradle'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
apply plugin: "com.matthewprenger.cursegradle"
apply from: 'https://files.saps.dev/ci/git-md-changelog.gradle'

repositories {
maven { url = 'https://maven.creeperhost.net/' }
Expand All @@ -27,90 +14,80 @@ repositories {
def ENV = System.getenv()
version = "${minecraft_version}-${mod_version}-build.${ENV.GITHUB_RUN_NUMBER ?: 9999}"
group = "com.flanks255"
archivesBaseName = "simplylight"
base {
archivesName = "simplylight"
}

java.toolchain.languageVersion = JavaLanguageVersion.of(17)

sourceSets.main.resources { srcDir 'src/generated/resources' }

minecraft {
if (mappings_channel == "parchment_overlay") {
mappings channel: 'parchment', version: "$mappings_overlay-$mappings_version"
} else {
mappings channel: "$mappings_channel", version: "$mappings_version"
runs {
// applies to all the run configs below
configureEach {
//Limit ram usage for the dev environment to 4GB
jvmArgument '-Xmx8G'

modSource project.sourceSets.main
}

runs {
client {
workingDirectory project.file('run')
mods {
simplylight {
source sourceSets.main
}
}
client {
systemProperty 'neoforge.enabledGameTestNamespaces', "simplylight"
programArguments.addAll('--width', '1280', '--height', '720')
if (ENV.MCDEVUSER) {
programArguments.addAll('--username', ENV.MCDEVUSER)
}

server {
workingDirectory project.file('run')
args 'nogui'
mods {
simplylight {
source sourceSets.main
}
}
if (ENV.MCDEVUUID) {
programArguments.addAll('--uuid', ENV.MCDEVUUID)
}
}

server {
systemProperty 'neoforge.enabledGameTestNamespaces', "simplylight"
programArgument '--nogui'
}

data {
workingDirectory project.file('run')
args '--mod', 'simplylight', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
gameTestServer {
systemProperty 'forge.enabledGameTestNamespaces', "simplylight"
}

mods {
simplylight {
source sourceSets.main
}
}
}
data {
programArguments.addAll '--mod', "simplylight", '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
}
}


dependencies {
minecraft "net.minecraftforge:forge:$minecraft_version-$forge_version"
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}-common-api:${jei_version}") //new
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}-forge-api:${jei_version}")
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}-forge:${jei_version}")
implementation "net.neoforged:neoforge:${neo_version}"
compileOnly "mezz.jei:jei-${minecraft_version}-common-api:${jei_version}"//new
compileOnly "mezz.jei:jei-${minecraft_version}-neoforge-api:${jei_version}"
runtimeOnly "mezz.jei:jei-${minecraft_version}-neoforge:${jei_version}"

compileOnly fg.deobf("curse.maven:TOP-245211:4159743")
compileOnly fg.deobf("curse.maven:BUILDINGGADGETS-298187:4423592")
// compileOnly fg.deobf("curse.maven:TOP-245211:4159743")
//compileOnly fg.deobf("curse.maven:BUILDINGGADGETS-298187:4423592")
}

jar {
manifest {
attributes([
"Specification-Title": "simplylight",
"Specification-Vendor": "Flanks255",
"Specification-Version": "1",
"Implementation-Title": project.name,
"Implementation-Version": "${version}",
"Implementation-Vendor" :"Flanks255",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
"Specification-Title": "simplylight",
"Specification-Vendor": "Flanks255",
"Specification-Version": "1",
"Implementation-Title": project.name,
"Implementation-Version": "${version}",
"Implementation-Vendor" :"Flanks255",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}

def reobfFile = file("$buildDir/reobfJar/output.jar")
def reobfArtifact = artifacts.add('default', reobfFile) {
type 'jar'
builtBy 'reobfJar'
}

publishing {
publications {
mavenJava(MavenPublication) {
artifact(reobfArtifact) {
builtBy reobfArtifact
artifactId = archivesBaseName
classifier null
}
register('mavenJava', MavenPublication) {
groupId project.group
artifactId base.archivesName.get()
version project.version
from components.java
}
}

Expand All @@ -126,18 +103,20 @@ publishing {
}
}
}

if (ENV.CURSEFORGE_KEY) {
//https://modmuss50.github.io/mod-publish-plugin/
publishMods {
dryRun = !providers.environmentVariable("CURSEFORGE_KEY").isPresent()
file = jar.archiveFile
changelog = file("./CHANGELOG.md").text
modLoaders.add("NeoForge")
type = STABLE
curseforge {
apiKey = ENV.CURSEFORGE_KEY
project {
id = project.curseforge_id
releaseType = "release"
addGameVersion "Forge"
addGameVersion "1.20.1"
mainArtifact(jar)
changelog = getGitChangelog
changelogType = 'markdown'
}
accessToken = providers.environmentVariable("CURSEFORGE_KEY")
projectId = project.curseforge_id
minecraftVersions.add(project.minecraft_version)
}
}

tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}
11 changes: 5 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
mod_version=1.4.6
minecraft_version=1.20.1
forge_version=47.0.35
mappings_version=2023.07.02-1.20.1
mappings_overlay=1.19.3
mappings_channel=parchment
jei_version=15.2.0.22
minecraft_version=1.20.4
neo_version=20.4.147-beta
neogradle.subsystems.parchment.minecraftVersion=1.20.3
neogradle.subsystems.parchment.mappingsVersion=2023.12.31
jei_version=17.3.0.48
curseforge_id=300331
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.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
18 changes: 18 additions & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
pluginManagement {
repositories {
gradlePluginPortal()
maven {
name = 'Creeperhost Maven'
url = 'https://maven.creeperhost.net/'
}
maven {
name = 'Official NeoForge Maven'
url = 'https://maven.neoforged.net/releases'
}
}
}

plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0'
}
rootProject.name = "simplylight"
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.20.1 2023-07-02T17:39:12.0042851 Languages: en_us
// 1.20.4 2024-02-03T12:08:28.7871316 Languages: en_us for mod: simplylight
150c77437d677f41b9435d00819fc423cd8de8fb assets/simplylight/lang/en_us.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.1 2023-07-02T17:39:11.9982071 Block States: simplylight
// 1.20.4 2024-02-03T12:08:28.7790192 Block States: simplylight
d3935fe630df9a626a5af004711d6f44b1fc995d assets/simplylight/blockstates/illuminant_black_block.json
d3935fe630df9a626a5af004711d6f44b1fc995d assets/simplylight/blockstates/illuminant_black_block_on.json
3629ce2afea13d607f02d707ccba9af493556523 assets/simplylight/blockstates/illuminant_block.json
Expand Down Expand Up @@ -69,4 +69,4 @@ f474b5f37c04ca18870f66e37bc4e54842a06129 assets/simplylight/models/block/illumin
75287decf0e65d489dd3abcd9e4de887c55bdc5a assets/simplylight/models/block/illuminant_red_block_on.json
365254c2b9aac5fc6761e0dd9d13a8a4168bb5a9 assets/simplylight/models/block/illuminant_yellow_block.json
557660883921a2a412949422a9f0b07e67ebfd02 assets/simplylight/models/block/illuminant_yellow_block_on.json
87e1b56617b1c67a9f33b5373016a498fdb2c848 assets/simplylight/models/block/lightbulb.json
128e9ef1985a19f6fe36f259c3e77af19410ab91 assets/simplylight/models/block/lightbulb.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
// 1.20.1 2023-07-02T17:39:12.0017772 Tags for minecraft:block mod id simplylight
// 1.20.4 2024-02-03T12:08:28.7820187 Tags for minecraft:block mod id simplylight
496d59cfe73eec3c607bb05de5cb5cebcd58af7b data/minecraft/tags/blocks/mineable/pickaxe.json
851bbd271bde7006c7a7af1f9519478d6d756e06 data/minecraft/tags/blocks/wall_post_override.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
// 1.20.1 2023-07-02T17:39:12.0032831 Tags for minecraft:item mod id simplylight
// 1.20.4 2024-02-03T12:08:28.7861303 Tags for minecraft:item mod id simplylight
484a255f7a37ebf0c60c2d17dc376a334effba01 data/simplylight/tags/items/any_lamp_off.json
ab2c358f0a10b4ee93325e6ebcef8339a2a31ea6 data/simplylight/tags/items/any_lamp_on.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.1 2023-07-02T17:39:12.0007759 Loot Tables
// 1.20.4 2024-02-03T12:08:28.7810166 Loot Tables
d7a52f89b69180522e53f4e2b8eb3ccda222f8bc data/simplylight/loot_tables/blocks/edge_light.json
65bdff2228ab6198a0139f3af778093b361ebec5 data/simplylight/loot_tables/blocks/edge_light_top.json
ba8a968fc0df23f5b3a9495ea0c90b3162db057e data/simplylight/loot_tables/blocks/illuminant_black_block.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.1 2023-07-02T17:39:12.002283 Recipes
// 1.20.4 2024-02-03T16:51:49.8702298 Recipes
90596ca8cf5882de543202216f6ae082573c101f data/simplylight/recipes/bulb.json
30e2cd3f47983bfb0b691ec81c2a1c15e14a404b data/simplylight/recipes/edge_light.json
64184b8d5bca1bf204537cc960f3fd02de028eed data/simplylight/recipes/edge_light_bottom_from_top.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.1 2023-07-02T17:39:12.0032831 Item Models: simplylight
// 1.20.4 2024-02-03T12:08:28.7861303 Item Models: simplylight
5491830b873630f7e62a44c71a3a87e988ab6a08 assets/simplylight/models/item/edge_light.json
7d303b4bd1b9f2ad47872a4bc85411f4dbe8c6af assets/simplylight/models/item/edge_light_top.json
fc84b8dfc45654a6a8157b30082a590832d20d1d assets/simplylight/models/item/illuminant_black_block.json
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@
"Solid",
"Translucent"
],
"loader": "forge:composite"
"loader": "neoforge:composite"
}
7 changes: 4 additions & 3 deletions src/main/java/com/flanks255/simplylight/SLBlockReg.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@

import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.registries.RegistryObject;
import net.neoforged.neoforge.registries.DeferredBlock;
import net.neoforged.neoforge.registries.DeferredItem;

import java.util.function.Function;
import java.util.function.Supplier;

public class SLBlockReg<B extends Block, I extends Item> implements Supplier<B> {
private final RegistryObject<B> block;
private final RegistryObject<I> item;
private final DeferredBlock<B> block;
private final DeferredItem<I> item;

@Override
public B get() {
Expand Down
10 changes: 4 additions & 6 deletions src/main/java/com/flanks255/simplylight/SLBlocks.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,14 @@
import com.google.common.collect.ImmutableSet;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredRegister;

import java.util.Set;

public class SLBlocks {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, SimplyLight.MODID);
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, SimplyLight.MODID);
public static final DeferredRegister.Items ITEMS = DeferredRegister.createItems(SimplyLight.MODID);
public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(SimplyLight.MODID);

private static final Item.Properties ITEMPROPERTIES = new Item.Properties();

Expand Down
Loading

0 comments on commit c17597a

Please sign in to comment.