Skip to content

Commit

Permalink
port to neoforge 1.20.4
Browse files Browse the repository at this point in the history
  • Loading branch information
manmaed committed Mar 10, 2024
1 parent 9059ff9 commit be0a39d
Show file tree
Hide file tree
Showing 26 changed files with 191 additions and 266 deletions.
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ build
# other
eclipse
run
cottonly-main
runs
run-data

# Files from Forge MDK
forge*changelog.txt
repo
152 changes: 51 additions & 101 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,133 +1,83 @@
plugins {
id 'java-library'
id 'eclipse'
id 'idea'
id 'maven-publish'
id 'net.minecraftforge.gradle' version '5.1.+'
id 'com.matthewprenger.cursegradle' version '1.4.0'
id 'net.neoforged.gradle.userdev' version '7.0.57'
id "me.modmuss50.mod-publish-plugin" version "0.4.5"
}

def ENV = System.getenv()
version = "${ENV.GITHUB_RUN_NUMBER}" ? "${mod_version}.${ENV.GITHUB_RUN_NUMBER}" : "${mod_version}.nobuildnumber"
group = project.maven_group

repositories {
mavenLocal()
maven {
url "https://www.cursemaven.com"
url "https://maven.curse.tools"
}
}
def ENV = System.getenv()
version = "${ENV.GITHUB_RUN_NUMBER}" ? "${mod_version}.${ENV.GITHUB_RUN_NUMBER}" : "${mod_version}.nobuildnumber"
group = 'net.manmaed.cottonly'
archivesBaseName = 'cottonly'

// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
base {
archivesName = project.archives_base_name + "-neo"
}

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'}"
minecraft {
mappings channel: "${minecraft_mappings}", version: "${minecraft_version}"
runs {
client {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
property 'forge.enabledGameTestNamespaces', 'cottonly'
mods {
cottonly {
source sourceSets.main
}
}
}
configureEach {
systemProperty 'forge.logging.markers', 'REGISTRIES'
systemProperty 'forge.logging.console.level', 'debug'
modSource project.sourceSets.main
}

server {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
property 'forge.enabledGameTestNamespaces', 'cottonly'
mods {
cottonly {
source sourceSets.main
}
}
}
client {
systemProperty 'forge.enabledGameTestNamespaces', project.archives_base_name
}

gameTestServer {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
property 'forge.enabledGameTestNamespaces', 'cottonly'
mods {
cottonly {
source sourceSets.main
}
}
}
server {
systemProperty 'forge.enabledGameTestNamespaces', project.archives_base_name
programArgument '--nogui'
}

data {
workingDirectory project.file('run')
property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'debug'
args '--mod', 'cottonly', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
mods {
cottonly {
source sourceSets.main
}
}
}
data {
programArguments.addAll '--mod', project.archives_base_name, '--all', '--output', file('src/generated/resources/').getAbsolutePath(), '--existing', file('src/main/resources/').getAbsolutePath()
}
}

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

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

dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
}

jar {
manifest {
attributes([
"Specification-Title" : "cottonly",
"Specification-Vendor" : "manmaed",
"Specification-Version" : "1", // We are version 1 of ourselves
"Implementation-Title" : project.name,
"Implementation-Version" : project.jar.archiveVersion,
"Implementation-Vendor" : "manmaed",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
implementation "net.neoforged:neoforge:${neo_version}"
}
tasks.withType(ProcessResources).configureEach {
var replaceProperties = [
version: version
]
inputs.properties replaceProperties

jar.finalizedBy('reobfJar')

publishing {
publications {
mavenJava(MavenPublication) {
artifact jar
}
}
repositories {
maven {
url "file://${project.projectDir}/mcmodsrepo"
}
filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) {
expand replaceProperties + [project: project]
}
}

if (ENV.CURSE_DEPLOY) {
publishMods {
dryRun = providers.environmentVariable("CURSE_DEPLOY").getOrNull() == null
file = jar.archiveFile
modLoaders.add("neoforge")
type = BETA
changelog = "changeme"
displayName = "${mod_name} v${project.version} - NeoForge - ${minecraft_version}"
curseforge {
apiKey = ENV.CURSE_DEPLOY
project {
id = project.curseforge_id
releaseType = "${curseforge_releasetype}"
addGameVersion "Forge"
addGameVersion "Java 17"
addGameVersion "${minecraft_version}"
mainArtifact(jar) {
displayName = "${mod_name} v${version} - ${minecraft_version}"
}
changelog = "changeme"

}
accessToken = providers.environmentVariable("CURSE_DEPLOY")
projectId = project.curseforge_id
minecraftVersions.add("Java 17")
minecraftVersions.add("${minecraft_version}")
}
}

tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}
}
12 changes: 8 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,18 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

# Forge Stuff
minecraft_version=1.19.3
forge_version=44.0.18
# Neo Stuff
minecraft_version=1.20.4
neo_version=20.4.3-beta
minecraft_mappings=official

# Mod Props
maven_group = net.manmaed
archives_base_name = cottonly

# Mod Stuff
mod_name=Cottonly
mod_version=0.13
mod_version=0.14

#CurseForge Stuff
curseforge_id=515461
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
12 changes: 8 additions & 4 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Expand All @@ -80,10 +80,10 @@ do
esac
done

APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

APP_NAME="Gradle"
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
Expand Down Expand Up @@ -143,12 +143,16 @@ fi
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
Expand Down
7 changes: 5 additions & 2 deletions settings.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
pluginManagement {
repositories {
mavenLocal()
gradlePluginPortal()
maven { url = 'https://forge.modpacks.ch/maven' }
maven { url = 'https://maven.minecraftforge.net/' }
maven { url = 'https://maven.creeperhost.net/' }
}
}
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0'
}
58 changes: 29 additions & 29 deletions src/main/java/net/manmaed/cottonly/Cottonly.java
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
package net.manmaed.cottonly;

import net.manmaed.cottonly.blocks.CBlocks;
import net.manmaed.cottonly.config.CottonConfig;
import net.manmaed.cottonly.items.CItems;
import net.manmaed.cottonly.libs.LogHelper;
import net.manmaed.cottonly.loot.CLoots;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.ComposterBlock;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.event.CreativeModeTabEvent;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.ForgeRegistries;
import org.jline.utils.Log;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.common.Mod;
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.registries.DeferredRegister;

import java.util.Arrays;
import java.util.List;


/**
* Created by manmaed on 16/05/2021.
Expand All @@ -34,26 +31,29 @@ public class Cottonly {
* TODOs:
*
*/
public static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MOD_ID);
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> cottonlyTab = CREATIVE_MODE_TABS.register(MOD_ID, () -> CreativeModeTab.builder()
.icon(() -> new ItemStack(Items.WITHER_ROSE))
.title(Component.translatable("itemGroup." + MOD_ID))
.displayItems((parms, output) -> {
List<DeferredRegister<Item>> myItems = Arrays.asList(
CItems.ITEMS
);
for (DeferredRegister<Item> register : myItems) {
register.getEntries().forEach(entry -> output.accept(entry.get()));
}
})
.build());


/*public static final CreativeModeTab itemGroup = new CreativeModeTab(MOD_ID) {
@Override
public ItemStack makeIcon() {
return new ItemStack(Items.WITHER_ROSE);
}
};*/

public Cottonly() {
IEventBus eventBus = FMLJavaModLoadingContext.get().getModEventBus();
public Cottonly(IEventBus eventBus) {
CItems.ITEMS.register(eventBus);
CBlocks.BLOCKS.register(eventBus);
eventBus.addListener(this::init);
CLoots.LOOT_MODIFIERS.register(eventBus);
eventBus.addListener(this::createTabs);
/*
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, CottonConfig.COMMON_CONFIG);
*/
/*ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, CottonConfig.CLIENT_CONFIG);
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, CottonConfig.SERVER_CONFIG);*/
CREATIVE_MODE_TABS.register(eventBus);

}

private void init(FMLCommonSetupEvent event) {
Expand All @@ -64,7 +64,7 @@ private static void registerCompostable(float chance, Item itemIn) {
ComposterBlock.COMPOSTABLES.put(itemIn, chance);
}

public void createTabs(CreativeModeTabEvent.Register event) {
/*public void createTabs(CreativeModeTabEvent.Register event) {
event.registerCreativeModeTab(new ResourceLocation(MOD_ID, "creative_tab"), builder -> builder
.icon(() -> new ItemStack(Items.WITHER_ROSE))
.title(Component.translatable("itemGroup." + MOD_ID))
Expand All @@ -78,6 +78,6 @@ public void createTabs(CreativeModeTabEvent.Register event) {
}
})
);
}
}*/

}
6 changes: 2 additions & 4 deletions src/main/java/net/manmaed/cottonly/CottonlyClient.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package net.manmaed.cottonly;

import net.manmaed.cottonly.blocks.CBlocks;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.RenderType;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;

import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;

/**
* Created by manmaed on 16/05/2021.
Expand Down
Loading

0 comments on commit be0a39d

Please sign in to comment.