-
Notifications
You must be signed in to change notification settings - Fork 11
Introduction
Welcome to a tutorial series all about how to use the Additions API to create Custom Items with Custom Textures. In this episode, I will be talking about the creation of the API, its purpose and its capabilities. We'll also be setting up your coding and testing environment.
In order to follow along with this tutorial, you must already be familiar with the Java Language and the Bukkit / Spigot API. If you are not comfortable using either of those, I suggest you watch some Java tutorials on YouTube and then, once you've understood the basics, create some basic Spigot plugins using either the Spigot Wiki or YouTube Tutorials on Spigot by . I will be leaving a link for both in the video description.
It'll be also great if you already have some knowledge in creating and editing textures for a Minecraft Resource Pack, but even if you don't, I will be covering the basics during this tutorial series. I'll be using Photoshop since that is the tool I've used during the past and in which I have all of my current files, which I'll be sharing with you. However, you can use free programs, like Paint.NET, which can also do texture editing, but you'll have to find another tutorial for those programs.
With all that out of the way, I want to talk a bit about the creation of the Additions API and the reasons why I started developing it. I started work on the API on January 2017, as I was starting to get extremely annoyed by coding Custom Items manually. Not only was I running into issues with recreating the Durability mechanics, but I was always having problems with the JSON files which never seemed to work on first try.
Going into the Additions API, I was hoping to overcome the limitations set by Vanilla Minecraft, such as Durability Mechanics on Unbreakable Items and bugs regarding the Crafting Recipes, but also make something where Custom Items wouldn't need to be hardcoded and anyone could add their own. In general, I was trying to make something similar to Forge for Single Player, which allows you to add and remove any mods you like. In the end, I think we got it. So, let me get into what this API can do in the state it is now.
The main purpose of this API is to allow you to add Custom Items through the use of a Custom Resource Pack that is created and sent automatically. This eliminates the need to create JSON files for each Custom Item with a specific durability, so you don't even need to specify the Durability in advance. Up until now, all Custom Items required their own texture, model file, and modifications to existing Vanilla model files so that the game knew which damage point would be assigned to the texture. My API only requires a texture file, the rest is automatically determined! Some users have also been able to use model files, but I haven't been able to look into it personally.
Perhaps even more importantly, throigh this API you can easily get around the limits that Custom Items have had so far. One of the biggest features of this API is the fully customizable, 1:1 recreation of the durability mechanics of Vanilla Minecraft. Since the items, in order to get their textures, have been made unbreakable, my API has a “Fake Durability” system, that allows you to specify whichever max durability number you want for any Custom Item and it will act just like Durability acts in Vanilla Minecraft. Not only that, but you can also change how much durability is cut on certain actions, or even change the durability manually yourself. While the durability won't be visible on the item itself due to it being Unbreakable, it will be visible in the lore of the Custom Item as well as a Boss Bar that can be configured using the Additions API Config.
Similarly, there are many other methods that can provide your Custom Items with the properties that normal Vanilla items usually have, such as their own Crafting and Furnace Recipes, Attributes, Enchantments, Item Flags, and much more! You can even change the Attack Damage and Attack Speed of tools, all while maintaining the Grey Text that the lore of Tools in Minecraft usually have, something that wasn't possible before as adding any Attributes would get rid of that text.
However, as of right now, this API can not create Custom Food, Custom Blocks, Custom Sounds or Custom GUIs. I hope that one day in the future, this API will be able to handle all that, but that is currently not a priority.
If you believe that the project you have in mind would benefit from this API, then keep watching, as I'll be guiding you through setting up your workspace to create plugins with the Additions API.
Before you start
Creating and editing Custom Items
Tutorials made by other people