MachineMusePowersuits icon indicating copy to clipboard operation
MachineMusePowersuits copied to clipboard

[1.14.4 ?] planning and progress

Open lehjr opened this issue 6 years ago • 119 comments

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...

lehjr avatar Jun 24 '19 17:06 lehjr

Let me know when you have the Patreon set up, I'll give you what I can afford.

eyeonus avatar Jun 24 '19 17:06 eyeonus

Thanks. When I figure it out I'll probably put a link in the the Don't-README

lehjr avatar Jun 24 '19 18:06 lehjr

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.

lehjr avatar Jun 25 '19 19:06 lehjr

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.

lehjr avatar Jun 26 '19 12:06 lehjr

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.

lehjr avatar Jun 29 '19 02:06 lehjr

W00t! Hooray for the lack of crashing!

eyeonus avatar Jun 29 '19 02:06 eyeonus

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.

lehjr avatar Jun 29 '19 02:06 lehjr

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.

lehjr avatar Jul 02 '19 03:07 lehjr

I hate you, whoever decided server-side only was a good idea.

eyeonus avatar Jul 02 '19 04:07 eyeonus

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.

lehjr avatar Jul 02 '19 04:07 lehjr

I shall continue to hope, because I very very much prefer the new mode to the shift mode.

(And not because I coded it.)

eyeonus avatar Jul 02 '19 04:07 eyeonus

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.

lehjr avatar Jul 03 '19 17:07 lehjr

Awesome!

eyeonus avatar Jul 03 '19 17:07 eyeonus

In build 23 we just got back the ability to register textures, so there's even more good news. :D

lehjr avatar Jul 04 '19 00:07 lehjr

W00t!

eyeonus avatar Jul 04 '19 02:07 eyeonus

2019-07-05_12 50 04

lehjr avatar Jul 05 '19 16:07 lehjr

Some progress

lehjr avatar Jul 05 '19 16:07 lehjr

2019-07-06_15 35 16 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.

lehjr avatar Jul 06 '19 19:07 lehjr

Looking good!

eyeonus avatar Jul 06 '19 20:07 eyeonus

The crafting GUI will probably look something like this: crafting_table2

lehjr avatar Jul 07 '19 19:07 lehjr

2019-07-15_00 32 07 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.

lehjr avatar Jul 15 '19 04:07 lehjr

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?

eyeonus avatar Jul 15 '19 05:07 eyeonus

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.

lehjr avatar Jul 15 '19 13:07 lehjr

~~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.

lehjr avatar Jul 18 '19 23:07 lehjr

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. 2019-08-01_18 24 48

lehjr avatar Aug 02 '19 17:08 lehjr

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 avatar Aug 10 '19 07:08 LuisG244

@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 avatar Aug 10 '19 14:08 lehjr

@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

LuisG244 avatar Aug 10 '19 15:08 LuisG244

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. 2019-08-12_11 12 02

lehjr avatar Aug 12 '19 15:08 lehjr

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.

lehjr avatar Aug 19 '19 13:08 lehjr