MachineMusePowersuits
MachineMusePowersuits copied to clipboard
[1.14.4 ?] planning and progress
I've decided to skip 1.13.2 and go to ~~1.14.2~~ 1.14.4. As always, there will be some changes to the mod due to changes in Minecraft and Forge.
-
Modules will be items and install costs will be replaced with crafting recipes. This change has been a long time coming, but will likely be needed unless manual texture registering becomes available again. For now, the only way to get an icon into the texture atlas is to have it bound to an item.
-
~~External mod support modules will likely be external addons due to the lack of the @Optional annotation and the interface and method stripping that went with it.~~ I MIGHT not to do this. I was hoping to not do things half-assed and just extend items where needed instead of having to wrap individual methods in reflection.
-
~~Armor model customization is still an unknown. Currently custom model loading is possible by manually loading and baking models. But again, the texture registration isn't available, so they are displayed with the "missing texture".~~ No longer an issue. Everything is now working or working with a few bugs here and there.
-
Armor, energy storage, and energy generation modules will be limited to one per armor piece. The armor and ~~power fist may end up becoming tiered with built in energy storage. I haven't decided yet.~~ Yeah, no, not happening.
-
~~The cooling systems will change, there will be a fluid tank module and a cooling system module that will optionally use fluid from that.~~ Yeah, no, not happening. On the other hand, I will likely add a GUI for filling the advanced cooling module.
-
I will be using my own repo for both Numina and MPS for 1.14.2 and beyond due to the inability to set default branches. it's not critical, but it's an annoyance I've dealt with for over 3 years now. It's time.
-
I've set up a Patreon basically to support development because at the current combined average of about $10 monthly for both MPS and Numina, I cannot even offset the cost of the electricity I use for mod development and maintenance on what I get from CurseForge rewards. That's on top of how hard it has gotten to redeem those rewards. As such, it's unlikely that I will be pushing the mod to CurseForge beyond the current Minecraft version. It's just not worth me checking every single day whether or not CurseForge has restocked their gift cards so I can cash in the points that I've been accumulating for months because they still have not restocked. And I hate to say it, but the future of the mod is going to depend heavily on that Patreon. I'm not trying to get rich but I would actually lose less money by just laying in bed and breathing oxygen than I do constantly working on this mod.
I'll update this as time goes on...
Let me know when you have the Patreon set up, I'll give you what I can afford.
Thanks. When I figure it out I'll probably put a link in the the Don't-README
I noticed that the JEI commits have a temporary work around for the textures. I’ll have to investigate later on. Biggest things on the todo list are the config settings for modules, texture loading for models, and porting/rewriting the GUI code. Pretty much all the model code is now in capabilities.
Since I'll probably have to redesign and rewrite all of the GUI stuff, I guess this would be a good time to add a crafting tab to the Tinker table.
I spent some time porting Scannable to 1.14.3, not completely, but enough to figure out what I need to do in terms of setting up the GUI stuff. Unlike the 1.13.2 port, there is stuff that actually works without crashing. So at least there's that.
W00t! Hooray for the lack of crashing!
Yeah, the block search thing is only working for the one module where you can select a specific block to find. The that scanning effect where it lights up the world doesn't seem to work but the block thing does. It's off vertically by about a block, but it does work.
Looks like GUI's are going to be "fun". From what I can tell, they all need a container, a registered "container screen" for the GUI, a registered container type, an INamedContainerProvider, and being a container gui, they can only be opened from the server side, so to open a gui with a key, you have to create a custom packet for that to send to the server and then handle that request on the server side.
For normal Tinker Table stuff, this is might actually be a good thing though it will take more work initially to port the existing code. For the mode selection stuff though, that's not so good and I may have to revert to the old shift mouse wheel method of mode changing.
I hate you, whoever decided server-side only was a good idea.
Most gui stuff is container based anyway. For the Tinker Table stuff and modules being items, this doesn't change much. All the overlays still work fine. So the only real issue is the mode selection. I did some testing with it earlier and it didn't go well. After I get a better handle on the rest of the GUI stuff I'll revisit it.
I shall continue to hope, because I very very much prefer the new mode to the shift mode.
(And not because I coded it.)
According to some proof of concept testing, I should be able to save the mode changing GUI you wrote. However, there are some issues with opening/closing it which will have to be sorted out. I won't be able to fully test it until I set up a way to actually install modules instead of populating the list from the player inventory, but for now, the outlook is good. With any luck, I'll be able to salvage most of the GUI system.
Awesome!
In build 23 we just got back the ability to register textures, so there's even more good news. :D
W00t!

Some progress
A little more working. Scrolling still broken though. Padding around the modules and items could be a increased a bit too. But tool tips and selection are working.
Looking good!
The crafting GUI will probably look something like this:

more progress on that. The crafting table side is almost done (just need to replace the button. The recipe book side is a conceptual thing where the background image was replaced with an MPS themed image.
Slow progress because much of this container stuff is new to me.
One of the things I'm working on with this port is getting the GUI's to resize properly on window resize. It's coming along slowly, but it is still moving forward.
So will the table be able to craft anything, then? Or just MPS stuff?
If the former, are you planning on making it better than the standard table in any way, in similar vein to the crafting bench in Tinker's Construct?
For right now, it will probably just be an MPS themed crafting setup. Part of the challenge of working with 1.14.3 is there' are still a lot of garbled names, so it takes time just to figure out what things do.
~~I hit a major snag with the config system. Due to the way it's coded, it looks to be impossible to have soft coded references. That's a bigger issue than it sounds because the hard coded references are null until the config builder builds, and capabilities are initialized before this happens. Basically, it's going to be a lot more work.~~
Edit: I did some testing in an example mod and found found a way to not have to use hard coded references. Also found some of my config settings were wrong.
Finished the crafting Gui. I've been working on the rest of the GUI stuf, mostly experimentingf. Turns out that you CAN use a GUI without a container, so there will end up being a mix of both. Most of the GUI's will probably be rewritten. The installation GUI will likely be similar to that of Scannable, but with the dynamically drawn stuff rather than static background images. tweaking stuff shouldn't be too much different.

Wow, just re discovered this mod that I was sure I wouldn't see anymore of since I last saw MM ceased development. I'm so excited to be playing with modular power suits on such a new version like 1.12, which just happens to be the most recent version I play on MC anyway since I'm waiting on Amulet...
Dude I was wondering if you could make the plasma cannon max explosiveness like x10 stronger (5 creepers instead of .5), that's something I always wanted to see with the mod. I'll send a few bucks to the patreon since I'm so stoked this mod is still technically in development. Thanks for work you do :)
@LuisG244 Thank you, much appreciated. Unfortunately, I haven't even heard from MM in over 2 years. And because of that, I've had to switch to my own repos for 1.14.4 development since I can't change the default branch. I also can't add/remove team members on the CurseForge page, so I'll probably have to create a new project page for 1.14.4 and beyond as well, that is, if CurseForge can get their act together.
Regarding the settings for the plasma cannon, that specific setting would be plasmaCannon.plasmaExplosiveness.voltage.multiplier
in the config file.
@lehjr wow!! Thank you so much I never knew this was something I could do on me end. (Turns out x10 explosiveness is pretty crazy) I will continue supporting the mod on your paetron :) best of luck and I'll be watching for you repos since you cant do much on here with MM being gone
So far the testing with modules as items has been going pretty well. The module selection setup that @eyeonus did is now working again, but the installation/removal needs to be split from the module tweak setup. I'm still trying to come up with a module installation/removal GUI that makes sense , since the old one will no longer work with items.
I'm currently using this just to be able to install the modules for testing, but I'll need a better solution before I can release the mod.

I was loading up my 1.12.2 workspace but the assets weren't loading. I actually lost DAYS trying to pinpoint the source. Turns out, this fix from 4 years ago works https://stackoverflow.com/questions/27623326/minecraft-forge-not-loading-textures
Anyway, my plan is to try to stick as close to the original as possible. It will be a little bit more complex due to modules being craftable instead of just having install costs, but the overall functionality won't be that different. The biggest change will probably be a crafting grid instead of just the install costs by the install button to show whether or not the player has the items needed to craft the module if the player doesn't already have one in their inventory.