Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.12 - Not texture for liquid #2288

Closed
ExDomino opened this issue Jul 10, 2017 · 24 comments
Closed

1.12 - Not texture for liquid #2288

ExDomino opened this issue Jul 10, 2017 · 24 comments

Comments

@ExDomino
Copy link

ExDomino commented Jul 10, 2017

For example, the cresoide oil, there is no texture. Version 65 of the mod, Forge 2405.

@ExDomino
Copy link
Author

ExDomino commented Jul 10, 2017

Cresoide Oil was added by Thermal Expansion. We had a texture for it until we add your mod. Your mod make that the Cresoide Oil is now pink and black.

@BluSunrize
Copy link
Owner

BluSunrize commented Jul 10, 2017

Try version 66.

Also, could you please provide screenshots and stuff?

@ExDomino
Copy link
Author

Liquids still not fixed in 66.

@BluSunrize
Copy link
Owner

Mate. Read the fucking contribution guidelines and provide pictures, or I'm flat out closing the issue next.

@ExDomino
Copy link
Author

ExDomino commented Jul 10, 2017

There is the screenshot of the problem. The liquid in the tank at the bottom left of the screenshot are the Cresoide Oil that Thermal Expansion had added. The texture was correct until we add Immersive Engineering. For now, we consider this bug as a minor issue.

https://image.noelshack.com/fichiers/2017/28/1/1499723787-2017-07-10-17-55-15.png

@BluSunrize
Copy link
Owner

Ah excellent, that's what I wanted to see. It looks like that in the creative menu.
Now go try it in a GUI. See if the Coke Oven actually has purple and black in the tank as well.

@ExDomino
Copy link
Author

ExDomino commented Jul 11, 2017

In singleplayer on a fresh new world: nothing wrong, all is good.

On my multiplayer server, there is no texture for the Creosote Oil and there is no way to take this Creosote Oil with a bucket. You can see the problem in my next screenshot. We have Thermal Expansion that added its own Creosote Oil before yours. Is it possible that your mod trys to use this "old" Creosote Oil that is maybe no longer registered?

https://image.noelshack.com/fichiers/2017/28/2/1499773539-2017-07-11-07-44-03.png

As you can see, the bucket stays in the upper slot, even if there is 1000 Creosote Oil in the Coke Oven.
And the texture of the Creosote Oil is still bugget. This screenshot came from my multiplayer server.

@BluSunrize
Copy link
Owner

Not entirely no.
The creosote in there is Thermal Expansion creosote.
The failure to get buckets filled is indeed my fault, I'm looking into fixing it.

The broken texture however is a mistake within Forge or Thermal Expansion, depending how you look at it. I've been trying to reach Lemming about this to talk about a fix but I haven't yet been successful.

@ExDomino
Copy link
Author

ExDomino commented Jul 11, 2017

The texture of the Creosote Oil was good before I add Immersive Engineering. Maybe Thermal Expansion ceasses to register the texture if another mod trys to add it. Or Forge is bugget if two mods try to add the same texture for a liquid?

But for now, we cannot craft anything from your mod because there is no way to obtain the Creosote Oil, event by cheat, even in creative. Even if the texture is broken, the fix of the bucket will be really useful!

Another precision: We cannot take the Creosote Oil from a Thermal Expansion Tank with an Empty Bucket either, when before I add ImmersiveEngineering it was perfectly possible. It's really looks like the liquid is not registered or something like that.

Edit : In singleplayer, the Creosote Oil texture is brown, so from Immersive Engineering.

@BluSunrize
Copy link
Owner

Well you can still get the bucket from creative, and use that to craft stuff. So there is absolutely a way to obtain it.

A quick explanation on Fluid textures:
When a modder defines a Fluid, he defines the path to the texture (the so called ResourceLocation).
Forge, then while starting the client, loads that texture into the Minecraft Texturemap.
Now comes the tricky part: When multiple mods register Fluids, the first one to do so defines the "master" fluid. Effectively the frontend that you see. This frontend is the only one that Forge will load textures for.
Now in your World, before IE, TE was that frontend. Forge remembers this. In the world file is an nbt file that stores that Thermal Expansion is the master fluid for this world. (You can edit that file btw to fix this. Grab an NBT editor, find the default fluids and kick out Thermal Expansion's creosote).

So while starting the game, IE is the first to load, defines its fluid and that becomes the global master fluid. Forge then loads textures. Then you load the world and Forge goes "Hang on, this world has a local master fluid from TE, we shall use that instead". However, the textures for that fluid haven't been loaded, and as such it looks broken.
The fix I want to suggest to KingLemming is for him to manually put his fluid textures in the sheet. It's very easy to do and would fix this issue. I can't do it for him though, it needs to be on TE's side.

@ExDomino
Copy link
Author

ExDomino commented Jul 11, 2017

What file I add to open with the NBT editor exactly? Is it just one file or I have to fix this in a multiple of files?

And is it recommended to modify that file manualy? Or you recommend me to wait for fix from mods? I'm not really a noob using a computer, I already created my own mod (a very very very tiny mod that only add one furnace smelting recipe, the wheat into bread) so I know how to use Eclipse, etc, so I will be able to use a NBT editor, but maybe it's still a not recommended action? Because if I remove the liquid, it's like a remove a mod that add blocks in the game? Is there a risk of World Corruption? I would do a backup before to be sure, but you know that better than me, so I prefer to follow your recommendations.

Funny fact: if I fix that by myself, the Creosote Oil will be brown, else it will be olive. xD

@BluSunrize
Copy link
Owner

It should be the level.dat file. In there, under "forge"->"DefaultFluidList", an entry called "thermalfoundation:creosote". There is basically no chance of world corruption if you just remove that entry from the list.

The fix is mostly dependent on how quickly I can talk to Lemming and convince him, because atm there isn't really much I can do from my side.

@ExDomino
Copy link
Author

I will fix the problem by myself following your instructions.

Another thing I want to ask you, I want to remove a mod on my server and I want to replace all these ores from another one. Ex.: This mod add copper ore and I want to replace all their copper ore by these added by Thermal Expansion or Immersive Engineering. For ores that TE or IE don't add, I will replace them by stone, to prevent air holes in the ground. For machines, I will just let Forge replace them by air. Do you know a safe way to replace all occurence of a block in a world by another block? And idem for items? As well in the world and in chest and in other mod inventory like RefinedStorage? I know this question is not a bug or an issue but I noticed that you respond quickly and I need help for that. It is also possible to change the occurence of a block to another just in editing the level.dat ?

@BluSunrize
Copy link
Owner

Not really, no. Blocks and items are written into the save by their registry ID. That ID is unique and you can't easily replace them like that.

@malte0811
Copy link
Collaborator

I think it should be possible using net.minecraftforge.event.RegistryEvent.MissingMappings. That would make it possible to remap the missing block/item to air or some other block. You wouldn't be able to specify metadata mappings, but it should work for "easy" cases.

@BluSunrize
Copy link
Owner

Yeah that's still pretty ugly, because then it might result in horrendous errors in the world due to metadata. (Also not the topic of this issue =P)

@ExDomino
Copy link
Author

What I want is simple: convert all ores to stone. Machines and items can be transformed to air as default.
Converting ore into stone prevent creating of "black" (not lighted) holes in the ground.

@BluSunrize
Copy link
Owner

Possible, yes.
Don't think there is a mod that does it though. Would need to write your own.

@KingLemming
Copy link

I have a twitter, you know Blu. And I already came up with that solution - putting textures in no matter what. So in theory, this is fixed. If it isn't fixed now, then this is actually a Forge problem.

@ExDomino
Copy link
Author

But we still have the bucket issue that cannot take the liquid from the tank.
I edited the level.dat like Blu suggested me and all is good now.

@BluSunrize
Copy link
Owner

@KingLemming Honestly?
I tried poking you on IRC earlier this day and then realized I'd do a shit job explaining it on an instant messenger. That's why a wrote a report as detailed and precise as possible and stuck it on your issue tracker. Felt like that was the more proper and coordinated way to address the issue, and allow a discussion in the comments that could be easier backtracked through too.
And yeah, the bucket and florb issues would persist, even with the texture binding, so they need adressing too.

You are right though, this really is a Forge thing. Dunno why they bother with that default fluid thing, the fluids are supposed to be equal and interchangable anyway.

@Krougal
Copy link

Krougal commented Jul 11, 2017

Thanks for that detailed explanation in general, was wondering WTF is up with random textures appearing and vanishing at times (not IE in particular, just a general issue as I add or remove mods from packs)

@DingoX3
Copy link

DingoX3 commented Jul 11, 2017

I just wanted to add that in ATM3 i am able to pull the creosote out with ic2 cells and was able to craft treated planks.

@BluSunrize
Copy link
Owner

right, closing this as fixes are implemented where possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants