MachineMuse / MachineMusePowersuits

Minecraft mod, take 2
236 stars 105 forks source link

1.8.9 Porting #681

Closed lehjr closed 8 years ago

lehjr commented 8 years ago

1.7.10 has been mostly busy work for awhile now, for mods, for Forge, and for players stuck on the sidelines waiting for updates. Aside from the nightmare of the rendering, there are also several dependencies that may not be available. Maybe it's time to start working on the port and disable the modules that have dependencies that can't be met until they become available. I just hope the performance is better than 1.7.10.

lehjr commented 8 years ago

Right now I can't tell how feasible it is to implement. Lots of things have changed, like json files to get working icons, or the loss of direct access block textures. For instance Blocks.water.getIcon(0, 0); now would be something like: Minecraft.getMinecraft().getRenderItem().getItemModelMesher().getItemModel(new ItemStack(Blocks.water)).getParticleTexture() followed by a few mixed drinks.

lehjr commented 8 years ago

Progress is slow, but steady, kind of like a herd of turtles. It's a deceptively complex mod. I'm finally at a point where I can run the mod from the real source rather than just a basic tutorial version, but the only thing rendering at this point is the Tinker Table, and only when placed, not as an inventory item.

Edit: Tinker table GUI partially works again.

MachineMuse commented 8 years ago

^^' Smoke and mirrors

lehjr commented 8 years ago

Meters are now working. More of the Tinker table GUI is working except module icons are not yet working and swirly circles are partially working. Not as much progress as I would have liked, but at least it's something.

MachineMuse commented 8 years ago

All good :) at least it compiles! Ship it!

lehjr commented 8 years ago

Sliders now work in the Tinker table GUI. Power seems to be working. Armor models haven't been touched yet. The power fist is still untouched. I have no idea what modules are working yet. Anything released at this point would have to be labeled as an early alpha.

MachineMuse commented 8 years ago

Sure! Do you want to push it to a different branch and I'll label it as such?

Xen1290 commented 8 years ago

I suggest to you a 1.8.9 branch in this repo, and maybe build and release automatically as alpha in curseforge when you release or tag a version in github, like applied energistics does. I hope I explained well. P.S. The official RF 1.8.9 api is released. Take a look here: https://github.com/CoFH/RedstoneFlux-API/tree/1.8

MachineMuse commented 8 years ago

Yeah, that's what I'm planning to do.

lehjr commented 8 years ago

Yeah, I would do a 1.8.9-alpha branch and rename it later when the the mod is in better shape. Just keep in mind that Numina source is currently mixed in with MPS.

MachineMuse commented 8 years ago

ok.

lehjr commented 8 years ago

Once I get the rendering figured out I'll split the source back up

lehjr commented 8 years ago

@Xen1290 Thanks for pointing out that RF api release. I was hoping that would turn up.

Xen1290 commented 8 years ago

👍🏻

lehjr commented 8 years ago

Started working on getting module icons to load... good times. Good times. I should be done with that much tonight if all goes well.

lehjr commented 8 years ago

Or not... wow, so many modules, so many icons. All but the tool module icons done now.

Edit: All but 2 working now.

lehjr commented 8 years ago

Tinker Table with different model systems. The top half of the screen is using iChun's Tabula, the bottom is using MrCrayfish's Model Creator. I also did one with Techne

screenshot from 2016-02-20 13 53 49

Xen1290 commented 8 years ago

If possibile, don't use techne.

lehjr commented 8 years ago

The problem with all of it is item rendering which is why I wanted to hold off on 1.8.9 in the first place and go with 1.8, which in hindsight, I would have been finished with by now. It seems that item rendering for anything that doesn't just use an icon instead of a model is a pain in the ass.

Edit: I think I'm going to try to get the json model right and use that. It will take more time than I'd like but it should be future-proof for a few MC versions.

lehjr commented 8 years ago

There, we now have a Tinker Table json model for rendering it as an item. It's not quite good enough for use as a block model because lining up the textures was a pain. Even with precision like this: "east": {"uv": [13.7142857142857, 3.42857142857143, 14.2857142857143, 4], "texture": "#0"} it's still not quite right but still good enough for an item model.

Anyway, now for the Power Fist. Also, I need some kind of idea for version numbers for 1.8.9 before I upload anything.

Xen1290 commented 8 years ago

Alpha: 0.0.x.jenkinsprogressivenumber Beta: 0.x.y.jenkinsprogressivenumber Release: x.y.z.jenkinsprogressivenumber

Xen1290 commented 8 years ago

So, will be ModularPowersuits-1.8.9-0.0.1.1.jar for the first jenkins and curse build

lehjr commented 8 years ago

@Xen1290 Great thanks! The first couple of builds may not be jenkins builds but as long as I have the versions numbers set up correctly it should be OK later on. Actually, I have a build ready for upload but I wanted to make sure the version numbers were set up correctly. I still have to break Numina back out into its own source set, but it shouldn't be too difficult using Meld and comparing with a 1.7.10 source set.

Xen1290 commented 8 years ago

I think is the best version number set. Because now we don't have the minecraft version and start from 0.11 is strange. So, new version, new number version.

MachineMuse commented 8 years ago

I was going with just incrementing the version number regardless of new Minecraft versions based on the size of changes (revision = fixes, minor = new features, major = someday a release will come~)

The major version number was kept at 0 so fewer people expect a hobby project to act like a fully released and functioning product.

lehjr commented 8 years ago

Oops. Well, the first release is up and I reset the counter. Still working on the mod as much as I can. After I get everything more or less working I have to go back and fix the power fist model. The current model was to avoid having to do something like using a Minecraft stick and renaming the device to "power stick" :P

Also the scaling for OBJ stuff is a pain. Lux capacitor model is insanely huge atm.

MachineMuse commented 8 years ago

It should be a factor of 16 I think. I kind of worked around the weird scaling by having the render subsystem scale the models individually. I guess that's not an option with Minecraft's new VERY MUCH BETTER AND NOT AT ALL HEADACHE INDUCING format.

lehjr commented 8 years ago

No, I mean setting the scale from the json file that loads it doesn't seem to do anything.

MachineMuse commented 8 years ago

...hahahaha :(

lehjr commented 8 years ago

I'll figure it it out, I think. The blade launcher works again, the plasma cannon is having issues with the bolt size. There might be an issue between the keyboard and the chair. Not sure.

TextureTurtle commented 8 years ago

i have made two different possible armor skins unnamed 1 and unnamed

lehjr commented 8 years ago

With any luck, players will be able to use custom skins by setting the mod config settings to vanilla models and overriding the default skin with their own with the use of resource packs. I don't know if there is a way for players to be able to see each other's custom skin yet though.

MachineMuse commented 8 years ago

There is a framework there in the config uploader/downloader. I never got around to fully implementing it since I was focused on numina/anima stuff by then.

lehjr commented 8 years ago

There, got the Lux Capacitor throwable entity to launch with the obj model. Just need to get the TESR part working now. After that, I'll tackle the armor rendering. Not sure when, but later on I'd like to see what I can do with getting the armor to toggle between the vanilla model and the OBJ model so users can use their own skins.

lehjr commented 8 years ago

ran into this today: https://github.com/MinecraftForge/ForgeGradle/issues/344 good times :S

lehjr commented 8 years ago

I feel like I'm reinventing the wheel.

screenshot from 2016-03-01 11 26 15

MachineMuse commented 8 years ago

Y-you don't have to do that D:

lehjr commented 8 years ago

Just looking for a way to render an item model. IItemRenderer is gone and there is no replacement.

MachineMuse commented 8 years ago

:<

lehjr commented 8 years ago

Hoping to have the next alpha ready by the end of next week. Things scheduled in the next build are:

  1. completely working blade launcher (done - texture was missing in previous build)
  2. completely working lux capacitor ( 50% done. Recreated the model in json format after headaches with the OBJ loader. Currently working on rotations and coloring without using TESR.)
  3. fix pickaxe module (not started - there is a major bug/porting failure in handleHarvestCheck. I just need to edit it and figure out what information I really need to get out of it to pass to the modules)
  4. switch to vanilla armor model and disable customization screen for armor (started. Switch to an old armor skin for now. still need to disable the customization screen. getArmorModel is not getting the correct armor slot for armor pieces, might be a forge bug)

The OBJ loader seems pretty fragile and I had issues getting it to load the models.

lehjr commented 8 years ago

Fixed packet bug that crept in during porting.

lehjr commented 8 years ago

Looks like I'll be pushing the next alpha out later today. The shovel module is still a bit buggy because the harvest check event doesn't have any easy way to get the coordinates that you need to get the blockstate which is needed for the harvest check, specifically for getHarvestTool(IBlockState state) which is used to check the module to see if it is emulating the tool needed to harvest the block.

Anyway. I will be disabling the Lux Capacitor for now until I can get it to work like it did in 1.7.10. Most of the modules are working now. Mostly what is left is rendering stuff which I will start working on this week.

Xen1290 commented 8 years ago

Great work @lehjr ! Keep it up!

lehjr commented 8 years ago

Looks like it might be time to target 1.9, or at least try

Xen1290 commented 8 years ago

Yeah, every mod will update to 1.9.

MachineMuse commented 8 years ago

If you need/want to change some functionality in order to fit with new minecraft versions, go right ahead. It doesn't have to be a perfect clone. :P

lehjr commented 8 years ago

The biggest issue I have is the rendering. I really need to set some "quiet time" aside and just figure out how the rendering works and see what I need to do to get things working. The models will need to be cleaned up a bit to get rid of warnings about unsupported keys or w/e. I imagine Blender will work, and I do have it, but the last time I did anything in 3D was with DesignCAD 3D, back when PC's had "Turbo" buttons.

eyeonus commented 8 years ago

If you can link me the programs/files I need for doing modeling, I can take a crack at it. I'm pretty familiar with Blender.

Just don't ask me to do any coding. On Mar 21, 2016 17:45, "lehjr" notifications@github.com wrote:

The biggest issue I have is the rendering. I really need to set some "quiet time" aside and just figure out how the rendering works and see what I need to do to get things working. The models will need to be cleaned up a bit to get rid of warnings about unsupported keys or w/e. I imagine Blender will work, and I do have it, but the last time I did anything in 3D was with DesignCAD 3D, back when PC's had "Turbo" buttons.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/MachineMuse/MachineMusePowersuits/issues/681#issuecomment-199539281

lehjr commented 8 years ago

@aionys Basically, it's all of the Wavefront models here: https://github.com/MachineMuse/MachineMusePowersuits/tree/experimental/src/main/resources/assets/powersuits/models

The other issue is the texture files now have to be a multiple of 16 and have to be square. I also have a wavefront model for the power fist, somewhere.

eyeonus commented 8 years ago

Okay.... What exactly do you need done? They load perfectly fine in Blender.....

On Tue, Mar 22, 2016 at 6:53 AM, lehjr notifications@github.com wrote:

@aionys https://github.com/aionys Basically, it's all of the Wavefront models here: https://github.com/MachineMuse/MachineMusePowersuits/tree/experimental/src/main/resources/assets/powersuits/models

The other issue is the texture files now have to be a multiple of 16 and have to be square. I also have a wavefront model for the power fist, somewhere.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub https://github.com/MachineMuse/MachineMusePowersuits/issues/681#issuecomment-199797737

mu'o mi'e .aionys.

.i.e'ucai ko cmima lo pilno be denpa bu .i doi.luk. mi patfu do zo'o (Come to the Dot Side! Luke, I am your father. :D )