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 [2020/12/20 11:42] – Fixed some mistakes and changed some things ytg1234 | ||
---|---|---|---|
Line 6: | Line 6: | ||
==== 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 | + | First, create an instance of Item. We'll store it at the top of our initializer class. The constructor takes in an '' |
<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 | + | public static final Item FABRIC_ITEM = new Item(new |
[...] | [...] | ||
} | } | ||
</ | </ | ||
- | You'll use the vanilla | + | You'll use the vanilla |
<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 | + | public static final Item FABRIC_ITEM = new Item(new |
| | ||
@Override | @Override | ||
- | public void onInitialize() | + | public void onInitialize() { |
- | | + | |
Registry.register(Registry.ITEM, | Registry.register(Registry.ITEM, | ||
} | } | ||
} | } | ||
</ | </ | ||
- | 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 66: | Line 65: | ||
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=" | <code java [enable_line_numbers=" | ||
- | public class FabricItem extends Item | + | public class FabricItem extends Item { |
- | { | + | |
- | public FabricItem(Settings settings) | + | public FabricItem(Settings settings) { |
- | | + | |
super(settings); | super(settings); | ||
} | } | ||
Line 75: | Line 73: | ||
</ | </ | ||
- | 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=" | <code java [enable_line_numbers=" | ||
- | public class FabricItem extends Item | + | public class FabricItem extends Item { |
- | { | + | |
- | public FabricItem(Settings settings) | + | public FabricItem(Settings settings) { |
- | | + | |
super(settings); | super(settings); | ||
} | } | ||
| | ||
@Override | @Override | ||
- | public TypedActionResult< | + | public TypedActionResult< |
- | | + | |
playerEntity.playSound(SoundEvents.BLOCK_WOOL_BREAK, | playerEntity.playSound(SoundEvents.BLOCK_WOOL_BREAK, | ||
- | return | + | return TypedActionResult.success(playerEntity.getStackInHand(hand)); |
} | } | ||
} | } | ||
Line 95: | Line 91: | ||
Replace the old Item object with an instance of your new item class: | 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 | + | public static final FabricItem FABRIC_ITEM = new FabricItem(new |
[...] | [...] | ||
} | } | ||
</ | </ | ||
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 '' | ||
+ | <code java [enable_line_numbers=" | ||
+ | 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().group(ItemGroup.MISC).maxCount(16)); | ||
+ | [...] | ||
+ | } | ||
+ | </ | ||
+ | ==== Next Steps ==== | ||
+ | [[tutorial: |
tutorial/items.txt · Last modified: 2024/04/20 08:05 by ryhon