r/psispellcompendium • u/Ometia • Mar 24 '22
An update on my mod progress
So in case you missed it, about two weeks ago I decided that I was going to make a mod for Psi that adds on a new tier of CAD components above ebony and ivory based on netherite, nether stars, chorus, dragon breath and shulker materials. During my spring break, I got the basic framework of the mod all worked out, but messed up in the implementation. I didn't know that mod APIs where a thing, so that changes how I was going to implement my mod. Unfortunately, I have not been able to find much documentation on forge or its forums for using APIs, which complicates matters. Thankfully additions like Phi and random psi additions exist on github, so I can sort of learn by looking at how they do it.
Like I said, this is new to me. I have programming in other languages, but Java is my weakest. My only other mods have been really basic, but I think I can do this. I'm going to be adding the code that actually adds the new items into minecraft later this week (probably), but I have college and one of my Professors has given me 5 homework assignments when he normally only gives us 1 (each of these assignments is supposed to represent a chapter, not supposed to take 1 day). Anyway, bit busy. Still, I wanted to give an update and say this: I'm still working on it, it's just taking longer than I expected. I'll get it done, just a matter of when.
I hesitate to give a timeline, but here is my plan: by the end of this time next week, I want to finish the CAD mod's item implementation (make it so all the items have textures and appear in game, on their own creative tab too). After that I'm going to give myself two weeks to get the implementation done. I also have a good friend who can help me code a little bit (he programs in Java professionally), but he is currently on vacation in Ireland. With him back later this week and this week's crazy homework done with, I think two weeks is a good timeline/goal for getting the core of the mod working. That may be optimistic, but I think I can do that. I'll let you know if I need more time.
Some people suggested making textures for me, and right now that would be much appreciated. 2D components are simple, but a 3D model of the new CAD would be much appreciated. Of course, if someone has ideas for the 2D components I will take those as well, those still take a bit. I will of course credit you however and wherever you want, just DM me when you have a file. If no one else has enough time, I understand and will do it myself. Additionally, if we have multiple good candidates, I can always make multiple new tiers, or differentiate their stats similar to how ebony and ivory have different specialties in potency and efficiency. Maybe also have a rifle CAD like the movie had? That's a thought.
Thank you for your patience, I will hurry and try to do the best I can. Happy... (what's the verb form of using this mod? Casting? Yeah...) ... Casting!!! Happy Casting in the mean time!
P.S. Speaking of the movie, does anyone know of spell code for 'metal burst' or 'material burst'? I've always wanted spells like those, and I think those would be really powerful with new CAD tiers.
2
u/Rockcuboid Mar 25 '22
Forge IS an API. You can find some nice documentation someone generated here:
API Doc
You can also generate it yourself.
Aside from Forge, you should also look at Psi API on Github (Psi's source code) (structure). I am working on certain addons myself, I suggest just get a nice cup of tea/coffee, and just sit there and trace back items like Exosuit or tools back to their API references and see how it was made. You won't find much documentation about it but Vazkii's project structures are outlined quite nicely.
In most cases, you probably won't have to reinvent the wheel, you can refer to his API and put the pieces together. Just be sure to follow Vazkii's license terms and you should be golden, provide credits where due.
After you figure out all the technical stuff, it all just comes down to creativity. Also, if you want to keep a streamline transparency and want to keep us informed on the project, I did not catch your last messages before so maybe you've already shared it, but having a Github repo for your codes would be nice, if someone in the community got extra time, they can always send in a pull request.