我最近在学习做一个Fabric模组,原本很顺利的,依赖也配置好了.
可是在我注册物品的时候,意外出现了:
我在写常量ICE_ETHER(我的物品名)的时候,它报错说“无法解析符号 'FabricItemsSettings'”,我气死了
请教度娘也找不到解决方案,故此请教各位.
以下是代码:
ModItems:
import com.besson.tutorialmod.TemplateMod;
import net.minecraft.item.Item;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
public class ModItems {
public static final Item ICE_ETHER = registerItems("ice_ether",new Item(new FabricItemsSettings()));//它就是说找不到FabricItemsSettings这个类
private static Item registerItems(String name,Item item){
return Registry.register(Registries.ITEM,new Identifier(TemplateMod.MOD_ID,name),item);
}
public static void registerModItems(){
}
}
build.gradle:
plugins {
id 'fabric-loom' version '1.6-SNAPSHOT'
id 'maven-publish'
}
version = project.mod_version
group = project.maven_group
base {
archivesName = project.archives_base_name
}
repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
}
fabricApi {
configureDataGeneration()
}
dependencies {
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
}
processResources {
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
tasks.withType(JavaCompile).configureEach {
it.options.release = 21
}
java {
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this line, sources will not be generated.
withSourcesJar()
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
jar {
from("LICENSE") {
rename { "${it}_${project.base.archivesName.get()}"}
}
}
// configure the maven publication
publishing {
publications {
create("mavenJava", MavenPublication) {
artifactId = project.archives_base_name
from components.java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
// Notice: This block does NOT have the same function as the block in the top level.
// The repositories here will be used for publishing your artifact, not for
// retrieving dependencies.
}
}
fabric.mod.json:
{
"schemaVersion": 1,
"id": "templatemod",
"version": "${version}",
"name": "Template Mod",
"description": "这是一个自创Mod",
"authors": [
"Chris",
"北山"
],
"contact": {
"homepage": "https://fabricmc.net/",
"sources": "https://github.com/FabricMC/fabric-example-mod"
},
"license": "CC0-1.0",
"icon": "assets/templatemod/icon.png",
"environment": "*",
"entrypoints": {
"main": [
"com.besson.tutorialmod.TemplateMod"
],
"client": [
"com.besson.tutorialmod.TutoriaModClient"
],
"fabric-datagen": [
"com.besson.tutorialmod.TemplateModDataGenerator"
]
},
"mixins": [
"templatemod.mixins.json"
],
"depends": {
"fabricloader": ">=0.15.11",
"minecraft": "~1.20.6",
"java": ">=21",
"fabric-api": "*"
},
"suggests": {
"another-mod": "*"
}
}
gradle.properties:
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true
# Fabric Properties
# check these on https://fabricmc.net/develop
minecraft_version=1.20.6
yarn_mappings=1.20.6+build.1
loader_version=0.15.11
# Mod Properties
mod_version=0.1-1.20.6
maven_group=com.besson.tutorialmod
archives_base_name=templatemod
# Dependencies
fabric_version=0.97.8+1.20.6
我的文件夹结构完全是Fabric的模板,肯定是没问题的.
百度上面完全没有这个问题的任何词条,从中午到晚上,找不到一点解决方案
请楼主认真回答,谢谢.