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/06/17 19:04] – modid refactoring draylar | tutorial:items [2019/08/03 22:28] – Added “next steps” fudge | ||
---|---|---|---|
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 | ||
Line 40: | Line 40: | ||
Item texture: .../ | Item texture: .../ | ||
- | Note that tutorial 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: | ||
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 | ||
{ | { | ||
// an instance of our new item | // an instance of our new item | ||
- | public static final FabricItem FABRIC_ITEM = new FabricItem(new Item.Settings().itemGroup(ItemGroup.MISC)); | + | public static final FabricItem FABRIC_ITEM = new FabricItem(new Item.Settings().group(ItemGroup.MISC)); |
[...] | [...] | ||
} | } | ||
</ | </ | ||
If you did everything correctly, using the item should now play a sound. | If you did everything correctly, using the item should now play a sound. | ||
+ | |||
+ | ==== Next Steps ==== | ||
+ | [[tutorial: |
tutorial/items.txt · Last modified: 2024/04/15 01:24 by solidblock