added stub item, see slides items
This commit is contained in:
@@ -1,9 +1,14 @@
|
||||
package de.jottyfan.minecraft;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import de.jottyfan.minecraft.item.ModItems;
|
||||
import de.jottyfan.minecraft.tab.ModTab;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.minecraft.world.item.Item;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -17,5 +22,8 @@ public class Mfmd2627 implements ModInitializer {
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
LOGGER.debug("initializing {}", MOD_ID);
|
||||
List<Item> items = ModItems.registerItems();
|
||||
ModTab.registerItemGroup(items);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package de.jottyfan.minecraft.item;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.world.item.Item;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jotty
|
||||
*
|
||||
*/
|
||||
public class ModItems extends ModItemsRegistrator {
|
||||
public static final Item STUB = registerItem("stub");
|
||||
|
||||
public static final List<Item> registerItems() {
|
||||
List<Item> registeredItems = new ArrayList<>();
|
||||
registeredItems.add(STUB);
|
||||
return registeredItems;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package de.jottyfan.minecraft.item;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
import de.jottyfan.minecraft.Mfmd2627;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.Identifier;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Item.Properties;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jotty
|
||||
*
|
||||
*/
|
||||
public abstract class ModItemsRegistrator {
|
||||
|
||||
/**
|
||||
* register a new item with the name
|
||||
*
|
||||
* @param name the name of the item
|
||||
* @return the registered item
|
||||
*/
|
||||
public static final Item registerItem(String name) {
|
||||
return registerItem(name, new Item.Properties(), Item::new);
|
||||
}
|
||||
|
||||
/**
|
||||
* register a new item with the name, the properties and the Item class reference
|
||||
*
|
||||
* @param name the name of the item
|
||||
* @param the properties; create it with <code style="color: gray">new Item.Properties();</code>
|
||||
* @param the function; create it with <code style="color: gray">Item::new</code>
|
||||
* @return the registered item
|
||||
*/
|
||||
public static final Item registerItem(String name, Properties properties, Function<Item.Properties, Item> function) {
|
||||
Identifier identifier = Identifier.fromNamespaceAndPath(Mfmd2627.MOD_ID, name);
|
||||
Item item = function.apply(properties.setId(ResourceKey.create(Registries.ITEM, identifier)).modelId(identifier)
|
||||
.useItemDescriptionPrefix());
|
||||
return Registry.register(BuiltInRegistries.ITEM, identifier, item);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package de.jottyfan.minecraft.tab;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import de.jottyfan.minecraft.Mfmd2627;
|
||||
import de.jottyfan.minecraft.item.ModItems;
|
||||
import net.fabricmc.fabric.api.creativetab.v1.FabricCreativeModeTab;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.Identifier;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jotty
|
||||
*
|
||||
*/
|
||||
public class ModTab {
|
||||
|
||||
/**
|
||||
* register the items in an own tab for the creative menu
|
||||
*
|
||||
* @param items the items
|
||||
*/
|
||||
public static final void registerItemGroup(List<Item> items) {
|
||||
ResourceKey<CreativeModeTab> tabKey = ResourceKey.create(Registries.CREATIVE_MODE_TAB,
|
||||
Identifier.fromNamespaceAndPath(Mfmd2627.MOD_ID, "itemgroup"));
|
||||
|
||||
CreativeModeTab quicklyTab = FabricCreativeModeTab.builder().icon(() -> new ItemStack(ModItems.STUB))
|
||||
.title(Component.translatable("tab.mfmd2627")).displayItems((params, output) -> {
|
||||
for (Item item : items) {
|
||||
output.accept(item);
|
||||
}
|
||||
}).build();
|
||||
|
||||
Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, tabKey, quicklyTab);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"model": {
|
||||
"type": "minecraft:model",
|
||||
"model": "mfmd2627:item/stub"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"item.mfmd2627.stub": "Stummel",
|
||||
"tab.mfmd2627": "Mfmd2627"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"item.mfmd2627.stub": "Stub",
|
||||
"tab.mfmd2627": "Mfmd2627"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "mfmd2627:item/stub"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
Reference in New Issue
Block a user