User Tools

Site Tools


tutorial:items

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
tutorial:items [2019/06/17 19:04] – modid refactoring draylartutorial:items [2019/06/30 23:04] – small refactoring draylar
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 ''Item'' object, register it, and give it a texture. To add additional behavior to the item you will need a custom Item class. In this tutorial the “wikitut” namespace and the “example_item” name are used as placeholderswhich should be replaced by the appropriate values for your mod and item.+Adding a basic item is one of the first steps in modding. You're going to need to create an ''Item'' object, register it, and give it a texture. To add additional behavior to the item you will need a custom Item class. In this tutorial and all future ones, the “tutorial” namespace is used as a placeholder. If you have a separate modidfeel free to use it instead.
 ==== Registering an Item ==== ==== Registering an Item ====
  
Line 15: Line 15:
 } }
 </code> </code>
-To register an ''Item'', you can call register on the static Registry objectThis takes in a registry type, Identifier, and an instance of what you're registering. This can be called anywhere as long as it occurs during initialization.+You'll use the vanilla ``Registry`` system for registering new contentThe basic syntax is ``Registry#register(Registry Type, Identifier, Content)``. Registry types are stored as static fields in the ``Registry`` object, and the identifier is what labels your content. Content is an instance of whatever you're adding. This can be called anywhere as long as it occurs during initialization.
 <code java [enable_line_numbers="true"]> <code java [enable_line_numbers="true"]>
 public class ExampleMod implements ModInitializer public class ExampleMod implements ModInitializer
Line 40: Line 40:
     Item texture: .../resources/assets/tutorial/textures/item/fabric_item.png     Item texture: .../resources/assets/tutorial/textures/item/fabric_item.png
  
-Note that tutorial is your modid. Our example texture can be found [[https://i.imgur.com/CqLSMEQ.png|here]].+Our example texture can be found [[https://i.imgur.com/CqLSMEQ.png|here]].
  
 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:
 </code> </code>
  
-An example application 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 click with it:
 <code java [enable_line_numbers="true"]> <code java [enable_line_numbers="true"]>
 public class FabricItem extends Item public class FabricItem extends Item
Line 93: Line 93:
 </code> </code>
  
-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="true"]> <code java [enable_line_numbers="true"]>
 public class ExampleMod implements ModInitializer public class ExampleMod implements ModInitializer
tutorial/items.txt · Last modified: 2024/04/20 08:05 by ryhon