added stub item, see slides items
This commit is contained in:
@@ -1,9 +1,14 @@
|
|||||||
package de.jottyfan.minecraft;
|
package de.jottyfan.minecraft;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import de.jottyfan.minecraft.item.ModItems;
|
||||||
|
import de.jottyfan.minecraft.tab.ModTab;
|
||||||
import net.fabricmc.api.ModInitializer;
|
import net.fabricmc.api.ModInitializer;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -17,5 +22,8 @@ public class Mfmd2627 implements ModInitializer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
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