Using item class

ExampleModItems.java

public class ExampleModItems {

	// Items
	public static Item customItem;

	// Others
	ItemBuilder generic_item_builder = new ItemBuilder(MOD_ID);
	
	// Function that make the items
	public void Initialize() {
		customItem = generic_item_builder.build(new Item("exampleItem", 11000));
	}
}

Inheriting from item class

CustomItem.java

public class CustomItem extends Item {

	// Custom properties
	private boolean is_charged = true;

	public CustomItem (String name, int id, boolean charged) {
		super(name, id);
		this.is_charged = charged;
	}
}
public class ExampleModItems {

	// Items
	public static CustomItem customItem;

	// Others
	ItemBuilder generic_item_builder = new ItemBuilder(MOD_ID); // ItemBuilder is from Halplibe library, available since 7.2pre1
	
  //Function to initialize items
	public void Initialize() {
		customItem = generic_item_builder.build(new CustomItem ("exampleItem", 11000, true));
	}
}

ExampleMod.java

public class ExampleMod implements ModInitializer, GameStartEntrypoint, RecipeEntrypoint {

	public static final String MOD_ID = "examplemod";
	public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);

	@Override
	public void onInitialize() {
		LOGGER.info("Fishing Additions initialized. Debug: "+ isDebug);
	}

	@Override
	public void beforeGameStart() {

		new ExampleModItems().Initialize();

	}

	@Override
	public void afterGameStart() {
	}

	@Override
	public void onRecipesReady() {

	}

	@Override
	public void initNamespaces() {
	}
}

Item gruops with namespace (work in progress)

Please read it before start

Adding Recipes

Using a namespace to group items.

In your YourModRegistries.java, at the function InitNameSpaces() add something like it:

	Registries.ITEM_GROUPS.register(MOD_ID + ":item/yourgroupgere", Registries.stackListOf(YourModItems.yourItem));

Other examples

Original discord message

Credits

https://github.com/LukeisStuff/stardew-farming-bta/blob/7.2/src/main/java/luke/stardew/StardewRecipes.java for the line of code of Using a namespace to group items.