base with items

This commit is contained in:
2026-10-19 22:19:12 +02:00
commit 0eb49393d6
23 changed files with 391 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
*.png filter=lfs diff=lfs merge=lfs -text
+21
View File
@@ -0,0 +1,21 @@
# MacOS DS_Store files
.DS_Store
# Gradle cache folder
.gradle
# Gradle build folder
build
# IntelliJ
out/
.idea
*.iml
# mpeltonen/sbt-idea plugin
.idea_modules/
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# Common working directory
run
+2
View File
@@ -0,0 +1,2 @@
Copyright (c) 2026
All rights reserved.
+95
View File
@@ -0,0 +1,95 @@
plugins {
id 'fabric-loom' version '1.16-SNAPSHOT'
id 'maven-publish'
}
version = project.mod_version
group = project.maven_group
base {
archivesName = project.archives_base_name
}
fabricApi {
configureDataGeneration {
client = true
}
}
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.
}
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}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
}
processResources {
inputs.property "version", project.version
inputs.property "minecraft_version", project.minecraft_version
inputs.property "loader_version", project.loader_version
filteringCharset "UTF-8"
filesMatching("fabric.mod.json") {
expand "version": project.version,
"minecraft_version": project.minecraft_version,
"loader_version": project.loader_version
}
}
def targetJavaVersion = 17
tasks.withType(JavaCompile).configureEach {
// ensure that the encoding is set to UTF-8, no matter what the system default is
// this fixes some edge cases with special characters not displaying correctly
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
// If Javadoc is generated, this must be specified in that task too.
it.options.encoding = "UTF-8"
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
it.options.release.set(targetJavaVersion)
}
}
java {
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
if (JavaVersion.current() < javaVersion) {
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
}
// 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()
}
jar {
from("LICENSE") {
rename { "${it}_${project.archives_base_name}" }
}
}
// 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.
}
}
+14
View File
@@ -0,0 +1,14 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G
# Fabric Properties
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.20.1
yarn_mappings=1.20.1+build.10
loader_version=0.19.2
# Mod Properties
mod_version=1.0-SNAPSHOT
maven_group=org.strawberries
archives_base_name=frangipane
# Dependencies
# check this on https://modmuss50.me/fabric.html
fabric_version=0.92.8+1.20.1
+1
View File
@@ -0,0 +1 @@
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
+12
View File
@@ -0,0 +1,12 @@
pluginManagement {
repositories {
maven {
name = 'Fabric'
url = 'https://maven.fabricmc.net/'
}
mavenCentral()
gradlePluginPortal()
}
}
rootProject.name = 'frangipane'
@@ -0,0 +1,20 @@
package org.strawberries.frangipane;
import net.fabricmc.api.ModInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.strawberries.frangipane.block.ModBlocks;
import org.strawberries.frangipane.item.ModItemGroups;
import org.strawberries.frangipane.item.ModItems;
public class Frangipane implements ModInitializer {
public static final String MOD_ID = "frangipane";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
@Override
public void onInitialize() {
ModItemGroups.registerItemGroups();
ModBlocks.registerModBlocks();
ModItems.registerModItems();
}
}
@@ -0,0 +1,10 @@
package org.strawberries.frangipane;
import net.fabricmc.api.ClientModInitializer;
public class FrangipaneClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
}
}
@@ -0,0 +1,12 @@
package org.strawberries.frangipane;
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
public class FrangipaneDataGenerator implements DataGeneratorEntrypoint {
@Override
public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
FabricDataGenerator.Pack pack = fabricDataGenerator.createPack();
}
}
@@ -0,0 +1,48 @@
package org.strawberries.frangipane.block;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroups;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.Identifier;
import org.strawberries.frangipane.Frangipane;
public class ModBlocks {
public static final Block MOSSY_BRICK = registerBlock(
"mossy_brick",
new Block(
FabricBlockSettings
.copyOf(Blocks.BRICKS)
.sounds(BlockSoundGroup.MOSS_BLOCK)
.strength(2F, 3F)
.requiresTool()
.burnable()
)
);
private static Block registerBlock(String name, Block block) {
registerBlockItem(name, block);
return Registry.register(Registries.BLOCK, new Identifier(Frangipane.MOD_ID, name),block);
}
private static Item registerBlockItem(String name, Block block) {
return Registry.register(
Registries.ITEM,
new Identifier(Frangipane.MOD_ID, name),
new BlockItem(block, new FabricItemSettings())
);
}
public static void registerModBlocks() {
Frangipane.LOGGER.info("J'ai ajouté les blocks pour " + Frangipane.MOD_ID + " ^^");
// ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS)
// .register(ModBlocks::);
}
}
@@ -0,0 +1,29 @@
package org.strawberries.frangipane.item;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import org.strawberries.frangipane.Frangipane;
import org.strawberries.frangipane.block.ModBlocks;
public class ModItemGroups {
public static final ItemGroup FRANGIPANE_GROUP = Registry.register(
Registries.ITEM_GROUP,
new Identifier(Frangipane.MOD_ID, "frangipane_group"),
FabricItemGroup.builder()
.displayName(Text.translatable("itemgroup.frangipane_group"))
.icon(() -> new ItemStack(ModItems.DEEP_STEEL_INGOT))
.entries((displayContext, entries) -> {
entries.add(ModItems.DEEP_STEEL_INGOT);
entries.add(ModBlocks.MOSSY_BRICK);
}).build()
);
public static void registerItemGroups() {
Frangipane.LOGGER.info("J'ai ajouté les groups d'items pour " + Frangipane.MOD_ID + " ^^");
}
}
@@ -0,0 +1,45 @@
package org.strawberries.frangipane.item;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroupEntries;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroups;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import org.strawberries.frangipane.Frangipane;
public class ModItems {
public static final Item DEEP_STEEL_INGOT = registerItem(
"deep_steel_ingot",
new Item(new FabricItemSettings())
);
// NOTE: non.
// public static final Item MOSSY_BRICK = registerItem(
// "mossy_brick",
// new Item(new FabricItemSettings())
// );
private static void addItemsToIngredientTabItemGroup(
FabricItemGroupEntries entries
) {
entries.add(DEEP_STEEL_INGOT);
// entries.add(MOSSY_BRICK);
}
private static Item registerItem(String name, Item item) {
return Registry.register(
Registries.ITEM,
new Identifier(Frangipane.MOD_ID, name),
item
);
}
public static void registerModItems() {
Frangipane.LOGGER.info("J'ai ajouté les items pour " + Frangipane.MOD_ID + " ^^");
ItemGroupEvents.modifyEntriesEvent(ItemGroups.INGREDIENTS)
.register(ModItems::addItemsToIngredientTabItemGroup);
}
}
@@ -0,0 +1,5 @@
{
"variants": {
"": { "model": "frangipane:block/mossy_brick" }
}
}
Binary file not shown.
@@ -0,0 +1,5 @@
{
"itemgroup.frangipane_group": "Le groupe de la frangipane",
"item.frangipane.deep_steel_ingot": "Deep steel ingot",
"block.frangipane.mossy_brick": "Mossy block"
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "frangipane:block/mossy_brick"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "frangipane:item/deep_steel_ingot"
}
}
@@ -0,0 +1,3 @@
{
"parent": "frangipane:block/mossy_brick"
}
+31
View File
@@ -0,0 +1,31 @@
{
"schemaVersion": 1,
"id": "frangipane",
"version": "${version}",
"name": "frangipane",
"description": "",
"authors": [],
"contact": {},
"license": "All-Rights-Reserved",
"icon": "assets/frangipane/icon.png",
"environment": "*",
"entrypoints": {
"fabric-datagen": [
"org.strawberries.frangipane.FrangipaneDataGenerator"
],
"client": [
"org.strawberries.frangipane.FrangipaneClient"
],
"main": [
"org.strawberries.frangipane.Frangipane"
]
},
"mixins": [
"frangipane.mixins.json"
],
"depends": {
"fabricloader": ">=${loader_version}",
"fabric-api": "*",
"minecraft": "${minecraft_version}"
}
}
+16
View File
@@ -0,0 +1,16 @@
{
"required": true,
"minVersion": "0.8",
"package": "org.strawberries.frangipane.mixin",
"compatibilityLevel": "JAVA_17",
"mixins": [
],
"client": [
],
"injectors": {
"defaultRequire": 1
},
"overwrites": {
"requireAnnotations": true
}
}