SlimeKnights / TinkersConstruct

Tinker a little, build a little, tinker a little more...
MIT License
1.21k stars 760 forks source link

Getting Chisel blocks from basin for some metals #2884

Closed TheQuadShot closed 6 years ago

TheQuadShot commented 7 years ago

Minecraft: 1.10.2 Forge: 12.18.3.2281 TConstruct-1.10.2-1.0.1.jar

When I cast Copper, Tin, or Bronze, WAILA reports basin is empty after cooling. However right clicking gets me the block but it's a Chisel block. This issue is also listed on the Chisel page ref: https://github.com/Chisel-Team/Chisel/issues/421

claws61821 commented 7 years ago

Thank you, @TheQuadShot ... I was just about to post this here.

Also applicable to: Forge: 12.18.3.2254 TCon: 1.10.2-2.6.3

Known applicable Chisel version: 0.0.10.22

KnightMiner commented 7 years ago

The blocks being chosen in the first place is #2878 and is not an issue as the first block in the oredictionary is chosen.

As for the rendering issues, can you post a screenshot so we see what you mean? We can then determine which side it is on a little better. Also make sure you have no graphic changing mods like Optifine.

TheQuadShot commented 7 years ago

Sure thing, here's a quick vid, hope it helps. Also note that the tool tip/waila show's it as a casting table https://www.youtube.com/watch?v=u5zIz3Ob4bI

Additional: Did some more testing and I think it's a Chisel issue since I can put a Forestry Block of bronze in the basin and it's visible https://www.youtube.com/watch?v=Toelw_DR47Y

Thanks!

bonii-xx commented 7 years ago

Probably how chisel does its blocks. The resulting block also depends on load order so, fun.

CraftMinerKyle commented 7 years ago

I have never had this problem with chisel and TiC. Do you have any addons?

TheQuadShot commented 7 years ago

I run the Tinkers' Tool Leveling. Here's more info is you need. F3+C dump file https://pastebin.com/NHrP1g1E

mod list https://pastebin.com/TCLHwKwM

CraftMinerKyle commented 7 years ago

I noticed you are using BetterFPS. I have a minor suggestion for you: Try FastCraft instead. Works better.

CraftMinerKyle commented 7 years ago

I don't see any reason for this issue. Possibly a Config Setting?

TheQuadShot commented 7 years ago

Thanks for the tip on FastCraft, I'll check it out. I didn't touch any of the configs so they are all "stock", and I'm not really sure which I should investigate.

CraftMinerKyle commented 7 years ago

Sometimes mods take over certain other things in other mods. Maybe a config has been changed by Chisel, as I have no clue.

KnightMiner commented 7 years ago

It is simply based on load order, no configs are specifically changed

TheQuadShot commented 7 years ago

Load order!? When did that happen and how do I set or change it. Is there a place I can read more about it, like which mods should go where in load order?

KnightMiner commented 7 years ago

Load order is automatically set by Forge based on dependencies with alphabetical as a fallback. Perhaps a simple example below can explain why this is caused by load order (not 100% accurate as to how it works, but it gets the idea across):

CraftMinerKyle commented 7 years ago

Thanks for that explanation. I am now somewhat curious if it is easily possible to add some sort of config or addon that overrides load order just for TiC Casting. If AOBD adds fluid and more ore smelting support, I wonder if it is as easy for casting as well.

On Wed, May 10, 2017 at 11:34 PM, KnightMiner notifications@github.com wrote:

Load order is automatically set by Forge based on dependencies with alphabetical as a fallback. Perhaps a simple example below can explain why this is caused by load order (not 100% accurate as to how it works, but it gets the idea across):

  • "B Mod" adds in copper. Because B comes before C, "B Mod" loads before "Chisel" thus making "B Mods" copper chosen by Tinkers.
  • Now "A Mod" is added to the pack, which requires Chisel to be loaded before it, so Forge simply moves Chisel earlier in the load order to before "A Mod", making the load order "Chisel", "A Mod", "B Mod". Since Chisel is now first, its copper is found first by Tinkers.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/SlimeKnights/TinkersConstruct/issues/2884#issuecomment-300679862, or mute the thread https://github.com/notifications/unsubscribe-auth/AV1lmDtYjZP1NkMzUXVr47KkMT1KluKGks5r4o_YgaJpZM4NO4En .

-- Sincerely, CraftMinerKyle

bonii-xx commented 7 years ago

It's really simple, chisel just needs to add an "after everything" :P

KnightMiner commented 7 years ago

Alternatively, we could do what Immersive Engineering does and have a preferred mod IDs config for the outputs. Also helps avoid multiple different metal blocks being returned based on the recipe.

tterrag1098 commented 7 years ago

So then the next mod that adds something to the oredict and has a name alphabetically before 'T' will become the problem? Tcon is not special, you should have a list of output preferences, like @KnightMiner said, and not expect other mods to bend around your load-order-specific outputs.

KnightMiner commented 7 years ago

I'm pretty sure what boni said was a joke and not intended to be taken seriously... (hence the ":P")

And the issue is not before 'T', we don't add our own metals for some of these so it is simply alphabetically first of all mods, Chisel just happens to be alphabetically one of the first mods.

tterrag1098 commented 7 years ago

Joking or not, it causes users to come to my issue tracker and then complain when I bounce them back to here.

KnightMiner commented 7 years ago

If a user cannot understand a joke, it is their own fault. Users will find many reasons to make bad reports.

binary-dragon commented 7 years ago

I'm having the same problem in my pack.

KnightMiner commented 7 years ago

So, @bonii-xx: I've been talking with @tterrag1098 about this on IRC, and the issue comes down to render layers. Chisel blocks can render on multiple layers to have a part that is transparent and a part solid for example, so as part of getQuads they do a layer check. Since our block renders in cutout, it means we only get blocks such as their glass and not stained glass or metals.

One potential fix is to temporarily set the render layer to null before fetching the item quads, then setting it back to the previous value, as that is currently how Chisel knows it is being rendered as an item to display all layers. It is a quite hacky solution for us to change the render layer in processing, but I tested it and it functions. Otherwise, since you understand the rendering code better than me, if you know a better way in getQuads for them to determine that its being rendered as an item it can possibly be fixed on their side instead. (Edit: one possibility mentioned on IRC was the state being null if they can guarantee it being null always means the model is rendered as an item)

Its worth mentioning the idea of rendering our block in all layers then only displaying the main model in cutout was mentioned, though the issue was vanilla items do not have any way to perform layer checks so we would end up rendering those in all layers.

bonii-xx commented 7 years ago

Does Forge support multiple Layers for single models? I know Minecraft has different layers that are rendered after each other, but I'm not aware of single blocks having multiple.

Does this only concern the casting basin/table (aka TESR) or general displays like crafting stations (aka Models)?

KnightMiner commented 7 years ago

Pretty sure it's forge that supports it given the way to get the current render layer. And this only applies to our models, the TESR will have a null render layer while running.

tterrag1098 commented 7 years ago

Forge doesn't "support" it per-se, but it is definitely possible, and CTM is not the only mod to do it.

That said, the root cause of this issue is that you are trying to bake item models into the chunk. This is an inherently broken concept, as item models may rely on different levels of transparency to work. There is no way to know what layer(s) an item model should render on. So if at all possible, using a block would be much better, or just switching to a TESR. That said, a workaround is to just draw on the TRANSLUCENT layer always, but this will have quad sorting issues with certain kinds of models.

bonii-xx commented 7 years ago

as item models may rely on different levels of transparency to work

Where/How would those be defined in the item models json?

tterrag1098 commented 7 years ago

That's exactly the problem, it isn't. Items are rendered in a GL mode with blending and alpha enabled, so they can use any mix of opaque and translucent textures.

bonii-xx commented 7 years ago

I need to take a closer look at the underlying stuff before I can say anything proper about this.

ArkaelDren commented 6 years ago

Well none of what was said fixes these issues. To be honest I'm so tired of modding community's not getting together and agreeing on standards, as well as unity within the community to solve issues like this. Some of you are great, and you know who you are. Fortunately we have an endless supply of new kids and players that get to deal with the lack of organisation. Good luck, now one more mod to drop.

CraftMinerKyle commented 6 years ago

I sorta want to be that little kid that says "Pick me! I'll help you!" , But A: Life doesn't pick the ones who request and B: I sorta moved my focus from Game Mods to Application Designing and hardware

On Sep 14, 2017 9:51 PM, "ArkaelDren" notifications@github.com wrote:

Well none of what was said fixes these issues. To be honest I'm so tired of modding community's not getting together and agreeing on standards, as well as unity within the community to solve issues like this. Some of you are great, and you know who you are. Fortunately we have an endless supply of new kids and players that get to deal with the lack of organisation. Good luck, now one more mod to drop.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/SlimeKnights/TinkersConstruct/issues/2884#issuecomment-329665266, or mute the thread https://github.com/notifications/unsubscribe-auth/AV1lmOUVp58mf7Sxb_duNuUCxPgCzGePks5sieYogaJpZM4NO4En .

KnightMiner commented 6 years ago

Fixed by e06b676, will be in the next release.