PersonTheCat / OreStoneVariants

A powerful utility for generating new blocks when given a foreground and background.
GNU General Public License v3.0
7 stars 8 forks source link

Tryna make some ores glow #77

Closed Goy288 closed 2 years ago

Goy288 commented 4 years ago

So as the title here suggest I'm trying to make some of the vanilla ores glow(particularly diamond, redstone, and emerald) in the modpack I'm making using the Connected Textures Mod and the Resource Loader mod. The problem here, is that all of my attempts here seem to fall flat. Vanilla ores at the top, OSV ores at the bottom.

How to make glowing ores with CTM is as follows.

Make a transparent overlay of just the ore bits themselves.

Nextm make a special .MCMETA file to help set the glow level.

Replace the ore's model file to have the glowing overlay texture and make util_cube_glow_2_all the parent.

.

Now obviously, this is a little bit of a problem when dealing with block models that are dynamically generated, so the only block model I had access to was dynamic_block.json.

I tried editing the model json to look like this, but that just ended up making the blocks invisible.

I also tried to remake the file in a similar style to util_cube_glow_2, but that just did absolutely nothing.

I think what possibly might be the problem, is that I made multiple .MCMETA files for the dynamically generated ore cutouts made by Ore Stone Variants to be loaded by the resource loader, but resources.zip gets loaded and takes a higher priority.

Assuming that this is true, is it possible to lower the priority of resources.zip? And assuming that I'm completely wrong about that as well, and there's nothing I can do, could you please consider adding special compatibility with CTM to add an option to implement glowing ores?

PersonTheCat commented 4 years ago

This is actually handled by Block#gerLightLevel. OSV has a feature built in for this. You have to create custom OreProperties jsons for it, which I realize is a bit tedious at the moment, but it can be done.

Edit: check config/ore_stone_variants_mods/template.zip. just create a zip file with the name of the ore properties, e.g. coal_ore.zip, and create a JsonProperties.json inside of it with the value "lightLevel": x inside of that.

Goy288 commented 4 years ago

Alright, I'll see what I can do with that. Thank you very much for this information, and I'll get back to you on this later to inform you of whether or not i was successful.

Goy288 commented 4 years ago

Alright, so I've made three zip files, "diamond_ore", "emerald_ore", and "redstone_ore" respectively, and I've added these in each JsonProperties.json, with x being each one's respective light level.

{
    "lightLevel": x
}

Unfortunately, this failed to do anything whatsoever, but then after looking through your comment I considered that you might have actually meant to type OreProperties.json instead of JsonProperties.json.

After renaming each one to OreProperties.json, I decided to try again, but unfortunately was graced with this crash log.

The main excerpt from the aforementioned crash log says that the texture for emerald ore is missing.

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Ore Stone Variants (ore_stone_variants)
Caused by: java.lang.RuntimeException: Error: A texture for emerald_ore is invalid. Path: null does not exist.

I have considered that I need to fill the OreProperties.json files with more descriptive information. Is this true, or is this some other issue entirely?

Goy288 commented 4 years ago

Alright, I have filled the OreProperties.json in diamond_ore and emerald_ore with the necessary information(I got rid of redstone since I didn't know how to replicate it's glow-on-touch properties), and while the ores "glow", I think we might have had a miscommunication on what I meant by that.

You see, the "glowing" effect I'm trying to add is a purely cosmetic addition that is supposed to make the ore bits embedded into the stone pop out, like how you might see a glint coming off of a precious gemstone, or the natural glow of redstone.

The "lightLevel" value doesn't exactly do this, and instead turns the ores into an active light source, like a glowstone block or a torch.

PersonTheCat commented 4 years ago

Hmm. I see. You might be referring to the shade feature used by some block models. Check the config file for "overlays are shaded" and set it to false. Let me know if that's what you were thinking.

Goy288 commented 4 years ago

I already set that to false, but I now decided to add the ores I wanted to glow to the "Shade Overrides" list, and it almost works.

The ore overlay seems to glow in the menu selection, to the point where you can no longer distinguish them from each other by their looks alone. OSV ores on the right, vanilla ores on the left But when it comes to actually viewing the ores ingame, they look almost exactly the same as they did before. The reason why I said "almost" is if you turn on night vision, you see that the ore bits are now just as, if not brighter, then the vanilla ore bits. OSV ores on the bottom, vanilla ores on the top I honestly think I may give up at this point, the only other option I can think of is to edit the models and the blockstates to manually assign textures and backgrounds to each ore.

I'll get back to you later, and assuming I'm successful, share some of the files for people who also want their ores to glow.

Goy288 commented 4 years ago

Yeah, changing the block model seems do nothing.

What I tried to do was make a new JSON file in ore_stone_variants\blockstates and calling it diamond_ore.json.

While I do seem to be able to manipulate the blockmodel to some degree, I appear to be unable to manipulate whether or not the ore glows for some reason. For now, I'm just gonna give up.

PersonTheCat commented 4 years ago

Sorry you didn't find what you were looking for...

Goy288 commented 4 years ago

It's quite alright. It wouldn't really change the gameplay much anyway.

PersonTheCat commented 2 years ago

Since this issue was for 1.12 (?), it will technically never be resolved. However, as of OSV 7.0+, the mod does now support emissive rendering. Marking this issue as resolved.