diff --git a/src/main/java/dev/confuzzedcat/sushi/Sushi.java b/src/main/java/dev/confuzzedcat/sushi/Sushi.java index 35e10ce..45ace0c 100644 --- a/src/main/java/dev/confuzzedcat/sushi/Sushi.java +++ b/src/main/java/dev/confuzzedcat/sushi/Sushi.java @@ -1,10 +1,35 @@ package dev.confuzzedcat.sushi; +import dev.confuzzedcat.sushi.registry.SushiItems; import net.fabricmc.api.ModInitializer; +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.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class Sushi implements ModInitializer { + public static final String MOD_ID = "sushi"; + public static final RegistryKey ITEM_GROUP = RegistryKey.of(RegistryKeys.ITEM_GROUP, id("group")); + public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); @Override public void onInitialize() { + Registry.register(Registries.ITEM_GROUP, ITEM_GROUP, FabricItemGroup.builder() + .icon(() -> new ItemStack(SushiItems.AVOCADO_FRUIT)) + .displayName(Text.translatable("itemGroup.sushi.sushi_items")) + .build()); + + + SushiItems.init(); + } + public static Identifier id(String name) { + return new Identifier(MOD_ID, name); } } diff --git a/src/main/java/dev/confuzzedcat/sushi/items/food/avocadoFruit.java b/src/main/java/dev/confuzzedcat/sushi/items/food/avocadoFruit.java new file mode 100644 index 0000000..7d1713c --- /dev/null +++ b/src/main/java/dev/confuzzedcat/sushi/items/food/avocadoFruit.java @@ -0,0 +1,20 @@ +package dev.confuzzedcat.sushi.items.food; + +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; + +public class avocadoFruit extends Item { + public avocadoFruit(Settings settings) { + super(settings); + } + + public avocadoFruit() { + this(new Settings() + .food(new FoodComponent.Builder() + .hunger(5) + .saturationModifier(5) + .build() + ) + ); + } +} diff --git a/src/main/java/dev/confuzzedcat/sushi/items/food/nigiriBase.java b/src/main/java/dev/confuzzedcat/sushi/items/food/nigiriBase.java new file mode 100644 index 0000000..22d542f --- /dev/null +++ b/src/main/java/dev/confuzzedcat/sushi/items/food/nigiriBase.java @@ -0,0 +1,20 @@ +package dev.confuzzedcat.sushi.items.food; + +import net.minecraft.item.FoodComponent; +import net.minecraft.item.Item; + +public class nigiriBase extends Item { + public nigiriBase(Settings settings) { + super(settings); + } + + public nigiriBase(){ + this(new Settings() + .food(new FoodComponent.Builder() + .hunger(1) + .saturationModifier(1) + .build() + ) + ); + } +} diff --git a/src/main/java/dev/confuzzedcat/sushi/registry/SushiItems.java b/src/main/java/dev/confuzzedcat/sushi/registry/SushiItems.java new file mode 100644 index 0000000..37c1525 --- /dev/null +++ b/src/main/java/dev/confuzzedcat/sushi/registry/SushiItems.java @@ -0,0 +1,29 @@ +package dev.confuzzedcat.sushi.registry; + +import dev.confuzzedcat.sushi.Sushi; +import dev.confuzzedcat.sushi.items.food.avocadoFruit; +import dev.confuzzedcat.sushi.items.food.nigiriBase; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.minecraft.item.Item; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import org.slf4j.Logger; + +public class SushiItems { + private static final Logger LOGGER = Sushi.LOGGER; + + public static final Item AVOCADO_FRUIT = register("avocado_fruit", new avocadoFruit()); + public static final Item NIGIRI_BASE = register("nigiri_base", new nigiriBase()); + + public static T register(String name, T item) { + LOGGER.info("Registering item with id: {}", name); + var id = Sushi.id(name); + Registry.register(Registries.ITEM, id, item); + ItemGroupEvents.modifyEntriesEvent(Sushi.ITEM_GROUP).register(entries -> entries.add(item)); + return item; + } + + public static void init() { + LOGGER.info("Initializing items for {}", Sushi.MOD_ID); + } +} diff --git a/src/main/resources/assets/sushi/icon.png b/src/main/resources/assets/sushi/icon.png new file mode 100644 index 0000000..e392cc0 Binary files /dev/null and b/src/main/resources/assets/sushi/icon.png differ diff --git a/src/main/resources/assets/sushi/lang/en_us.json b/src/main/resources/assets/sushi/lang/en_us.json new file mode 100644 index 0000000..ab81a78 --- /dev/null +++ b/src/main/resources/assets/sushi/lang/en_us.json @@ -0,0 +1,5 @@ +{ + "item.sushi.avocado_fruit": "Avocado Fruit", + "item.sushi.nigiri_base": "Nigiri Base", + "itemGroup.sushi.sushi_items": "Sushi Items" +} \ No newline at end of file diff --git a/src/main/resources/assets/sushi/models/item/avocado_fruit.json b/src/main/resources/assets/sushi/models/item/avocado_fruit.json new file mode 100644 index 0000000..1d2e0f5 --- /dev/null +++ b/src/main/resources/assets/sushi/models/item/avocado_fruit.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "sushi:item/avocado_fruit" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sushi/models/item/nigiri_base.json b/src/main/resources/assets/sushi/models/item/nigiri_base.json new file mode 100644 index 0000000..ab4d54d --- /dev/null +++ b/src/main/resources/assets/sushi/models/item/nigiri_base.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "sushi:item/nigiri_base" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/sushi/textures/item/avocado_fruit.png b/src/main/resources/assets/sushi/textures/item/avocado_fruit.png new file mode 100644 index 0000000..e392cc0 Binary files /dev/null and b/src/main/resources/assets/sushi/textures/item/avocado_fruit.png differ diff --git a/src/main/resources/assets/sushi/textures/item/nigiri_base.png b/src/main/resources/assets/sushi/textures/item/nigiri_base.png new file mode 100644 index 0000000..d313964 Binary files /dev/null and b/src/main/resources/assets/sushi/textures/item/nigiri_base.png differ diff --git a/src/main/resources/assets/sushi/textures/item/nigiri_tuna.png b/src/main/resources/assets/sushi/textures/item/nigiri_tuna.png new file mode 100644 index 0000000..b0dd5f7 Binary files /dev/null and b/src/main/resources/assets/sushi/textures/item/nigiri_tuna.png differ