Skip to content

Commit

Permalink
[+] Migrate to SinoCore.
Browse files Browse the repository at this point in the history
Signed-off-by: 秋雨落 <[email protected]>
  • Loading branch information
qyl27 committed Dec 29, 2024
1 parent 3e9e72d commit 791260d
Show file tree
Hide file tree
Showing 47 changed files with 144 additions and 358 deletions.
93 changes: 36 additions & 57 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
id 'java'
id 'maven-publish'
id 'architectury-plugin' version "${architect_plugin_version}"
id 'dev.architectury.loom' version "${architectury_loom_version}"
id 'com.gradleup.shadow' version "${shadow_plugin_version}" apply false
Expand All @@ -10,33 +11,26 @@ base {
}

architectury {
common(project.enabled_platforms.split(','))
common('neoforge', 'fabric')
}

loom {
accessWidenerPath = file('src/main/resources/catsplus.accesswidener')

runConfigs.configureEach {
ideConfigGenerated = true
ideConfigGenerated = false
}
}

dependencies {
// In order to use the @Environment and @EnvironmentInterface annotations from fabric loader.
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"

modApi "dev.architectury:architectury:${rootProject.architectury_api_version}"
modApi "games.moegirl.sinocraft:sinocore:${rootProject.sinocore_version}"
}

sourceSets {
main {
resources {
srcDir file('src/generated/resources')
if (providers.gradleProperty('MOD_DEVELOPMENT').present) {
srcDir file('src/test/resources')
}
}
}
sourceSets.main.resources {
srcDir file('src/generated/resources')
}

allprojects {
Expand Down Expand Up @@ -72,6 +66,11 @@ allprojects {
url = 'https://maven.terraformersmc.com/releases'
}

maven {
name = 'Yuluo'
url = 'https://maven.yuluo.dev/repository/maven-public/'
}

maven {
name = 'NeoForged'
url = 'https://maven.neoforged.net/releases/'
Expand Down Expand Up @@ -113,31 +112,9 @@ allprojects {
'META-INF/neoforge.mods.toml',
'fabric.mod.json']

var replaceTokens = [
mod_id : rootProject.mod_id,
mod_version : rootProject.mod_version,
var replaceTokens = rootProject.properties

minecraft_version : rootProject.minecraft_version,
fabric_loader_version : rootProject.fabric_loader_version,
fabric_api_version : rootProject.fabric_api_version,
neoforge_loader_version : rootProject.neoforge_loader_version,
neoforge_version : rootProject.neoforge_version,

architectury_api_version : rootProject.architectury_api_version,

neoforge_minecraft_version_range : rootProject.neoforge_minecraft_version_range,
neoforge_loader_version_range : rootProject.neoforge_loader_version_range,
neoforge_version_range : rootProject.neoforge_version_range,
neoforge_architectury_version_range: rootProject.neoforge_architectury_version_range,

fabric_minecraft_version_range : rootProject.fabric_minecraft_version_range,
fabric_loader_version_range : rootProject.fabric_loader_version_range,
fabric_api_version_range : rootProject.fabric_api_version_range,
fabric_architectury_version_range : rootProject.fabric_architectury_version_range
]

inputs.properties replaceTokens
filteringCharset 'UTF-8'
filteringCharset = 'UTF-8'

filesMatching(resourcesToReplace) {
expand replaceTokens
Expand Down Expand Up @@ -176,7 +153,26 @@ subprojects {
apply plugin: 'com.gradleup.shadow'

base {
archivesName = "$rootProject.archive_base_name-$project.name"
archivesName = "${rootProject.archive_base_name}-${project.name}"
}

architectury {
platformSetupLoomIde()
}

configurations {
common {
canBeResolved = true
canBeConsumed = false
}

compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common

shadowBundle {
canBeResolved = true
canBeConsumed = false
}
}

loom {
Expand All @@ -193,38 +189,21 @@ subprojects {
vmArg '-XX:+AllowEnhancedClassRedefinition'

// https://openjdk.org/jeps/400
property 'file.encoding', 'COMPAT'
property 'file.encoding', 'utf8'
}

server {
server()
runDir 'run/server'
vmArg '-XX:+IgnoreUnrecognizedVMOptions'
vmArg '-XX:+AllowEnhancedClassRedefinition'
property 'file.encoding', 'COMPAT'
property 'file.encoding', 'utf8'
}
}
}

configurations {
common {
canBeResolved = true
canBeConsumed = false
}

compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentFabric.extendsFrom common
developmentNeoForge.extendsFrom common
developmentForge.extendsFrom common

shadowBundle {
canBeResolved = true
canBeConsumed = false
}
}

dependencies {
common(project(path: ':', configuration: 'namedElements')) { transitive = false }
}

shadowJar {
Expand Down
12 changes: 8 additions & 4 deletions fabric/build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
architectury {
platformSetupLoomIde()
fabric()
}

configurations {
developmentFabric.extendsFrom common
}

loom {
runs {
data {
Expand All @@ -11,7 +14,7 @@ loom {
name 'Data Generation'

vmArg '-Dfabric-api.datagen'
vmArg "-Dfabric-api.datagen.output-dir=${file("../src/main/generated")}"
vmArg "-Dfabric-api.datagen.output-dir=${file("../src/generated/resources")}"
vmArg '-Dfabric-api.datagen.modid=catsplus'

runDir 'run/datagen'
Expand All @@ -23,10 +26,11 @@ dependencies {
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
modApi "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}"

modApi "dev.architectury:architectury-fabric:${rootProject.architectury_api_version}"
modApi "games.moegirl.sinocraft:sinocore-fabric:${rootProject.sinocore_version}"

modRuntimeOnly "com.terraformersmc:modmenu:${rootProject.fabric_mod_menu_version}"
modRuntimeOnly "cx.rain.mc.nbtedit:nbtedit-fabric:${rootProject.runtime_nbtedit_version}"

common(project(path: ':', configuration: 'namedElements')) { transitive false }
shadowBundle project(path: ':', configuration: 'transformProductionFabric')
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,11 @@
package cuteneko.catsplus.fabric.client;

import cuteneko.catsplus.client.CatsPlusClient;
import cuteneko.catsplus.item.ModItems;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
import net.minecraft.core.component.DataComponents;

public class CatsPlusFabricClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
CatsPlusClient.initClient();

ColorProviderRegistry.ITEM.register((stack, tintIndex) -> {
if (tintIndex == 0) {
var color = stack.get(DataComponents.DYED_COLOR);
if (color != null) {
return color.rgb();
}
}
return -1;
}, ModItems.CAT_BAG.get());
CatsPlusClient.setupClient();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public void generateTranslations(HolderLookup.Provider provider, TranslationBuil
builder.add(ModConstants.MESSAGE_CATTIFY_LINGERING_POTION, "Lingering Potion of Cattify");
builder.add(ModConstants.MESSAGE_CATTIFY_POTION_ARROW, "Arrow of Cattify");

builder.add(ModItemGroups.CATS_PLUS.getKey(), "Cats+!");
builder.add(ModItemGroups.CATS_PLUS, "Cats+!");
builder.add(ModConstants.MESSAGE_CAT_BAG_DESCRIPTION_NO_CAT, "Empty.");
builder.add(ModConstants.MESSAGE_CAT_BAG_DESCRIPTION_HAS_CAT, "Cat Inside!");
builder.add(ModConstants.MESSAGE_CAT_BAG_DESCRIPTION_HAS_NAMED_CAT, "%1$s Inside!");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public void generateTranslations(HolderLookup.Provider provider, TranslationBuil
builder.add(ModConstants.MESSAGE_CATTIFY_LINGERING_POTION, "滞留型变猫药水");
builder.add(ModConstants.MESSAGE_CATTIFY_POTION_ARROW, "变猫药水箭");

builder.add(ModItemGroups.CATS_PLUS.getKey(), "Cats+!");
builder.add(ModItemGroups.CATS_PLUS, "Cats+!");
builder.add(ModConstants.MESSAGE_CAT_BAG_DESCRIPTION_NO_CAT, "空的。");
builder.add(ModConstants.MESSAGE_CAT_BAG_DESCRIPTION_HAS_CAT, "内含猫猫!");
builder.add(ModConstants.MESSAGE_CAT_BAG_DESCRIPTION_HAS_NAMED_CAT, "%1$s 在里面!");
Expand Down
2 changes: 1 addition & 1 deletion fabric/src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@
"minecraft": "${fabric_minecraft_version_range}",
"fabricloader": "${fabric_loader_version_range}",
"fabric": "${fabric_api_version_range}",
"architectury": "${fabric_architectury_version_range}"
"sinocore": "${fabric_sinocore_version_range}"
}
}
7 changes: 6 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ shadow_plugin_version=8.3.+
unified_publishing_version=0.1.+

# Mod
enabled_platforms=forge,fabric,neoforge,quilt
enabled_platforms=fabric,neoforge
archive_base_name=cats-plus
mod_id=catsplus
mod_version=1.0.0
Expand All @@ -29,18 +29,23 @@ forge_version=52.0.28

# Dependencies
architectury_api_version=13.0.8
sinocore_version=1.21.1-1.0.0-RELEASE
fabric_mod_menu_version=11.0.3
runtime_nbtedit_version=5.2.8+mc1.21

# Version range used in manifests
neoforge_minecraft_version_range=[1.21.1,)
neoforge_loader_version_range=[4,)
neoforge_version_range=[21.1,)
neoforge_architectury_version_range=[13,)
neoforge_sinocore_version_range=[1.21.1-1.0,)
forge_minecraft_version_range=[1.21.1,)
forge_loader_version_range=[52,)
forge_version_range=[52,)
forge_architectury_version_range=[13,)
forge_sinocore_version_range=[1.21.1-1.0,)
fabric_minecraft_version_range=>=1.21.1
fabric_loader_version_range=>=0.16
fabric_api_version_range=*
fabric_architectury_version_range=>=13
fabric_sinocore_version_range=>=1.21.1-1.0
12 changes: 8 additions & 4 deletions neoforge/build.gradle
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
architectury {
platformSetupLoomIde()
forge()
neoForge()
}

configurations {
developmentNeoForge.extendsFrom common
}

dependencies {
neoForge "net.neoforged:neoforge:${rootProject.neoforge_version}"

modApi "dev.architectury:architectury-neoforge:${rootProject.architectury_api_version}"
modApi "games.moegirl.sinocraft:sinocore-neoforge:${rootProject.sinocore_version}"

modRuntimeOnly "cx.rain.mc.nbtedit:nbtedit-neoforge:${rootProject.runtime_nbtedit_version}"

common(project(path: ':', configuration: 'namedElements')) { transitive false }
shadowBundle project(path: ':', configuration: 'transformProductionNeoForge')
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import cuteneko.catsplus.CatsPlus;
import cuteneko.catsplus.client.CatsPlusClient;
import cuteneko.catsplus.neoforge.data.ModAttachment;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.common.Mod;
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
Expand All @@ -12,10 +13,12 @@ public class CatsPlusNeoForge {
public CatsPlusNeoForge(IEventBus bus) {
CatsPlus.init();

ModAttachment.register(bus);

bus.addListener(this::onClientSetup);
}

public void onClientSetup(FMLClientSetupEvent event) {
event.enqueueWork(CatsPlusClient::initClient);
event.enqueueWork(CatsPlusClient::setupClient);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@

import cuteneko.catsplus.CatsPlus;
import net.minecraft.world.entity.animal.Cat;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.attachment.AttachmentType;
import net.neoforged.neoforge.registries.DeferredRegister;
import net.neoforged.neoforge.registries.NeoForgeRegistries;

import java.util.function.Supplier;

@EventBusSubscriber(modid = CatsPlus.MODID, bus = EventBusSubscriber.Bus.GAME)
public class ModAttachment {
private static final DeferredRegister<AttachmentType<?>> REGISTRY = DeferredRegister.create(NeoForgeRegistries.ATTACHMENT_TYPES, CatsPlus.MODID);

public static final Supplier<AttachmentType<GeniusCatNeoForge>> GENIUS_CAT = REGISTRY.register("genius_cat", () -> AttachmentType
.serializable(holder -> holder instanceof Cat cat ? new GeniusCatNeoForge(cat) : null)
.build());

public static void register(IEventBus bus) {
REGISTRY.register(bus);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ Make cats in Minecraft more fun!
side="BOTH"

[[dependencies.catsplus]]
modId="architectury"
modId="sinocore"
mandatory=true
versionRange="${neoforge_architectury_version_range}"
versionRange="${neoforge_sinocore_version_range}"
ordering="NONE"
side="BOTH"
8 changes: 0 additions & 8 deletions neoforge/src/main/resources/pack.mcmeta

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.21.1 2024-12-19T20:49:40.2540232 Cats+/Language (en_us)
// 1.21.1 2024-12-29T17:25:32.8356958 Cats+/Language (en_us)
4c954a23ddc8e4a06ac36b5dd90df1616bbb774f assets\catsplus\lang\en_us.json
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.21.1 2024-12-19T20:49:40.2555458 Cats+/Language (zh_cn)
// 1.21.1 2024-12-29T17:25:32.8366935 Cats+/Language (zh_cn)
48c49b72a471aa7dc799813b98f69a62d1c6a0dc assets\catsplus\lang\zh_cn.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
// 1.21.1 2024-12-29T17:25:32.8376931 Cats+/Tags for minecraft:block
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.21.1 2024-12-19T20:49:40.2565329 Cats+/Tags for minecraft:item
// 1.21.1 2024-12-29T17:25:32.8376931 Cats+/Tags for minecraft:item
bc229f680fa773a41269c1569f5a700f669eb8e5 data\catsplus\tags\item\cooked_fishes.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// 1.21.1 2024-12-19T20:49:40.2555458 Cats+/Recipes
// 1.21.1 2024-12-29T17:25:32.8366935 Cats+/Recipes
42d7ddfe18f0e54b5b8899b35b51d6317bd6746b data\catsplus\recipe\cat_bag.json
1e24c90e0b77a584a20cae12e030f5721fe2de72 data\catsplus\recipe\totemeow.json
bc8eed3e40d27434c01dc0762c38ea6444076bb2 data\catsplus\advancement\recipes\tools\cat_bag.json
d9f24ab4cd89db43509b7cfd2f0719ddbb3d2b2d data\catsplus\advancement\recipes\tools\totemeow.json
42d7ddfe18f0e54b5b8899b35b51d6317bd6746b data\catsplus\recipe\cat_bag.json
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
// 1.21.1 2024-12-19T20:49:40.2545277 Cats+/Model Definitions
// 1.21.1 2024-12-29T17:25:32.8366935 Cats+/Model Definitions
882a1bd93aa3b1750ec3f9e2176a49e5561f45a9 assets\catsplus\models\item\totemeow.json
Loading

0 comments on commit 791260d

Please sign in to comment.