tutorial:items
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
tutorial:items [2019/05/30 11:49] – [Introduction] Explain the use of placeholders jamieswhiteshirt | tutorial:items [2019/07/06 03:43] – [Registering an Item] liach | ||
---|---|---|---|
Line 3: | Line 3: | ||
==== Introduction ==== | ==== Introduction ==== | ||
- | One of the first things you'll want to do with Fabric is adding a new item. You're going to need to create an '' | + | Adding a basic item is one of the first steps in modding. You're going to need to create an '' |
==== Registering an Item ==== | ==== Registering an Item ==== | ||
Line 11: | Line 11: | ||
{ | { | ||
// an instance of our new item | // an instance of our new item | ||
- | public static final Item FABRIC_ITEM = new Item(new Item.Settings().itemGroup(ItemGroup.MISC)); | + | public static final Item FABRIC_ITEM = new Item(new Item.Settings().group(ItemGroup.MISC)); |
[...] | [...] | ||
} | } | ||
</ | </ | ||
- | To register an '' | + | You'll use the vanilla registry system for registering new content. The basic syntax is '' |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
public class ExampleMod implements ModInitializer | public class ExampleMod implements ModInitializer | ||
{ | { | ||
// an instance of our new item | // an instance of our new item | ||
- | public static final Item FABRIC_ITEM = new Item(new Item.Settings().itemGroup(ItemGroup.MISC)); | + | public static final Item FABRIC_ITEM = new Item(new Item.Settings().group(ItemGroup.MISC)); |
| | ||
@Override | @Override | ||
public void onInitialize() | public void onInitialize() | ||
{ | { | ||
- | Registry.register(Registry.ITEM, | + | Registry.register(Registry.ITEM, |
} | } | ||
} | } | ||
Line 37: | Line 37: | ||
Registering a texture for an item requires an item model .json file and a texture image. You're going to need to add these to your resource directory. The direct path of each is: | Registering a texture for an item requires an item model .json file and a texture image. You're going to need to add these to your resource directory. The direct path of each is: | ||
- | Item model: .../ | + | Item model: .../ |
- | Item texture: .../ | + | Item texture: .../ |
- | Note that wikitut is your modid. | + | Our example texture can be found [[https:// |
If you registered your item properly in the first step, your game will complain about a missing texture file in a fashion similar to this: | If you registered your item properly in the first step, your game will complain about a missing texture file in a fashion similar to this: | ||
- | [Server-Worker-1/ | + | [Server-Worker-1/ |
It conveniently tells you exactly where it expects your asset[s] to be found-- when in doubt, check the log. | It conveniently tells you exactly where it expects your asset[s] to be found-- when in doubt, check the log. | ||
Line 52: | Line 52: | ||
" | " | ||
" | " | ||
- | " | + | " |
} | } | ||
} | } | ||
Line 75: | Line 75: | ||
</ | </ | ||
- | An example application | + | A practical use-case for a custom item class would be making the item play a sound when you click with it: |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
public class FabricItem extends Item | public class FabricItem extends Item | ||
Line 93: | Line 93: | ||
</ | </ | ||
- | Replace the old Item object with an instance of your new Item: | + | Replace the old Item object with an instance of your new item class: |
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
public class ExampleMod implements ModInitializer | public class ExampleMod implements ModInitializer |
tutorial/items.txt · Last modified: 2024/04/20 08:05 by ryhon