Open Intybyte opened 6 months ago
Pro Tip! You can help us label your Pull Requests by using the following branch naming convention next time you create a pull request. ❤️ Branch naming convention | Label |
---|---|
feature/** |
🎈 Feature |
fix/** |
✨ Fix |
chore/** |
🧹 Chores |
api/** |
🔧 API |
performance/** |
💡 Performance Optimization |
compatibility/** |
🤝 Compatibility |
If your changes do not fall into any of these categories, don't worry. You can just ignore this message in that case! 👀
Description
This is a proof of concept for setting up items in slimefun with a .yml file instead of an hardcoded approach. This approach only works with SlimefunItems registration for now. This would help in the configuration of slimefun, and people can add their own items if they want to without any need to make an addon or edit the source code.
Proposed changes
Some changes that would help in getting the needed data would be to create a HashMap<String, SlimefunItemStack> where you can access the SlimefunItemStack using its ID, because worse case scenario in my implementation if a recipe needs to be loaded with 9 slimefun items, in this implementation it would require 9 reflection calls only for loading the recipe.
Files
I left some files in .yml to show how the items would be saved.
item.txt machines.txt
Checklist
Nonnull
andNullable
annotations to my methods to indicate their behaviour for null values