Slimefun / Slimefun4

Slimefun 4 - A unique Spigot/Paper plugin that looks and feels like a modpack. We've been giving you backpacks, jetpacks, reactors and much more since 2013.
GNU General Public License v3.0
958 stars 547 forks source link

File handle #4157

Open Intybyte opened 6 months ago

Intybyte commented 6 months ago

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

github-actions[bot] commented 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! 👀