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/30 23:04] – small refactoring draylar | tutorial:items [2022/04/13 07:50] – map2fabricyarn daomephsta | ||
---|---|---|---|
Line 3: | Line 3: | ||
==== Introduction ==== | ==== Introduction ==== | ||
- | Adding a basic item is one of the first steps in modding. 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 ==== | ||
- | First, create an instance of Item. We'll store it at the top of our initializer class. The constructor takes in an Item.Settings object, which is used to set item properties such as the inventory category, durability, and stack count. | + | First, create an instance of <yarn class_1792> |
- | <code java [enable_line_numbers=" | + | <yarncode |
- | 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 class_1792 |
[...] | [...] | ||
} | } | ||
- | </code> | + | </yarncode> |
- | You'll use the vanilla | + | You'll use the vanilla |
- | <code java [enable_line_numbers=" | + | <yarncode |
- | 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 class_1792 |
- | + | ||
@Override | @Override | ||
- | public void onInitialize() | + | public void onInitialize() { |
- | | + | |
- | | + | } |
- | } | + | |
} | } | ||
- | </code> | + | </yarncode> |
- | Your new item has now been added to Minecraft. Run the `runClient` gradle | + | Your new item has now been added to Minecraft. Run the '' |
{{: | {{: | ||
Line 65: | Line 64: | ||
To add additional behavior to the item you will need to create an Item class. The default constructor requires an Item.Settings object. | To add additional behavior to the item you will need to create an Item class. The default constructor requires an Item.Settings object. | ||
- | <code java [enable_line_numbers=" | + | <yarncode |
- | public class FabricItem extends | + | public class FabricItem extends |
- | { | + | |
- | public FabricItem(Settings | + | public FabricItem(class_1793 |
- | | + | |
super(settings); | super(settings); | ||
} | } | ||
} | } | ||
- | </code> | + | </yarncode> |
- | A practical use-case for a custom item class would be making the item play a sound when you click with it: | + | A practical use-case for a custom item class would be making the item play a sound when you use it: |
- | <code java [enable_line_numbers=" | + | <yarncode |
- | public class FabricItem extends | + | public class FabricItem extends |
- | { | + | |
- | public FabricItem(Settings | + | public FabricItem(class_1793 |
- | | + | |
super(settings); | super(settings); | ||
} | } | ||
- | | + | |
@Override | @Override | ||
- | public | + | public |
- | | + | playerEntity.method_5783(class_3417.field_14983, 1.0F, 1.0F); |
- | playerEntity.playSound(SoundEvents.BLOCK_WOOL_BREAK, 1.0F, 1.0F); | + | return |
- | return | + | |
} | } | ||
} | } | ||
- | </code> | + | </yarncode> |
+ | |||
+ | Replace the old <yarn class_1792> | ||
+ | < | ||
+ | public class ExampleMod implements ModInitializer { | ||
- | Replace the old Item object with an instance of your new item class: | ||
- | <code java [enable_line_numbers=" | ||
- | 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 | + | public static final FabricItem FABRIC_ITEM = new FabricItem(new |
[...] | [...] | ||
} | } | ||
- | </code> | + | </yarncode> |
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. | ||
+ | |||
+ | ==== What if I want to change the stack size of my item? ==== | ||
+ | |||
+ | For this you would use ''< | ||
+ | < | ||
+ | public class ExampleMod implements ModInitializer { | ||
+ | |||
+ | // An instance of our new item, where the maximum stack size is 16 | ||
+ | public static final FabricItem FABRIC_ITEM = new FabricItem(new FabricItemSettings().method_7892(class_1761.field_7932)).method_7889(16)); | ||
+ | [...] | ||
+ | } | ||
+ | </ | ||
+ | ==== Next Steps ==== | ||
+ | [[tutorial: |
tutorial/items.txt · Last modified: 2024/04/20 08:05 by ryhon