Jump to content

Evi1Casul

Members
  • Posts

    37
  • Joined

  • Last visited

Everything posted by Evi1Casul

  1. I set the render type to INVISIBLE to use TESR, but the returned blockstate somehow misses its unlisted properties now...
  2. Sounds bad. Is there a way to change rendering instead of model or textures?
  3. 6 sides that may or may not be attached. I want to make smooth block fading. If 5% per frame is enough, I'll need to cache 18 * 20 = 360 textures. Is it okay in terms of performance?
  4. First, that's sort of a workaround. I don't understand why there is no system with flexible rendering control for cases where JSON is helpess (yeah, IModel/TESR is also clumsy and unobvious). However, speaking of the method you described, it's still impossible. I have a custom model that randomly picks one of six textures for each block side (the block can be attached to adjacent blocks); more than that, it has 3 different subtypes, so JSON system will be generating 3 * 2^6 * 6^6 = ~9M variants. Considering model baking time (and just logic), that's going to be processed for a long time. Transcluent textures will make it even worse (btw, not to mention manual json and texture files editing). I need a solution via IModel or whatever. P.S. I already implemented dynamic textures and models picking.
  5. I already have an IModel with 18 different textures which are dynamically picked for each state depending on the blockstate, so I need dynamic transparency.
  6. Hi. How can I change the block transparency dynamically (depending on the blockstate)? Is it possible via IModel?
  7. Jezz, it's finally working... Thank you very much for your help!
  8. I also considered this option, but I thought that there might be a more efficient way to do it. Well, I'll try it now.
  9. Thanks, it's working, but I'm facing another problem now: I need data from extended blockstate in order to retexture the model, but it's only available in IBakedModel#getQuads. If I retexture cached model here I won't be able to bake it to IBakedModel and get its quads...
  10. I get IModel from ModelLoaderRegistry, it's parsed from untextured json file determined in IModel#getDependencies, I can't retexture it... UPD: Or can I?.. What map do I pass as a param?
  11. I still don't get where can I apply my texture. For example, here: IModel subComponent = ModelLoaderRegistry.getModel(MODELS[5]); TextureAtlasSprite sprite = bakedTextureGetter.apply(TEXTURES[texIndex]); // Where do I use it? IBakedModel bakedModelWest = subComponent.bake(state, format, bakedTextureGetter);
  12. Hey, is there any help other than answers for "how do I create an item" on this forum? I'm trying to solve this problem for two weeks and have already tried json, forge json multimodes and TESR. It seems IModel is finally what I need, but how can I change the texture of a BakedQuad or how do I create a textured and tinted BQ?
  13. Hm, I managed to create a correctly working model (thanks to TGG's tutorial), but how do I dynamically retexture it? Is it possible to add textures to already baked quads?
  14. Hi. I need custom block model that can pick textures dynamically (because json will generate 2^6 * 6^6 (3M) models in this case), but this system (I looked through ModelDynBucket) seemed unreasonably complicated for me. Is it possible to bake the model using json model and only change retexturing? Or I'll have to deal with all this transforms and builders stuff for such a small change?
  15. Hmm, how do I save the config? I have the same variables names, but the configuration file remains unchanged.
  16. How do I attach a config GUI? I created IModGuiFactory and GuiConfig classes and added info to the Mod annotation, but where do I attach my gui? Tutorials use GuiOpenEvent and 'instanceof GuiIngameModOptions' check, but there is no such class (GuiIngameModOptions) or "Config" button under my mod... UPD: Omg... I thought my .mcmod was set up, but it's somewhy unconfigured... The problem is solved now.
  17. Yes, I also used this in my blockstate, like this: "north": { "true": { "submodel": { "face0": [ { "model": "modid:model_0" }, { "model": "modid:model_1" }, { "model": "modid:model_2" }, { "model": "modid:model_3" }, { "model": "modid:model_4" }, { "model": "modid:model_5" } ] } }, "false": { } } Because the block can attach to each side (like vine, but with an additional bottom side), so it's 2^6 * 6^6 = 2985984 (3M) variants (if my calculations are correct). P.S. 46k models is a lot too, I think. I can dublicate these 64 (2^6) variants and randomize textures automatically with IO and string replacement to get like few hundred variants, so every texture would be used, and that will give some feel of randomess, but I still want to find a way to do this with all the possible combinations dynamically.
  18. I tried to use multimodel and submodels system, but it still generates all the possible sets of variants (as I said, with 6 different textures on 6 sides it loads over a million models). Is it possible to override the block renderer so it can pick a random texture dynamically? I found it too dfficult to create an advanced model (using a custom model loader, etc.), it seems there's not even a premde IModel class for block (only ItemBlock and private vanilla wrapper).
  19. I think I may have found a solution, and this can be done with extended blockstates, but I have to check it.
  20. Oh, I messed up with ByteBuf methods (was using set instead of write), so I thought it's possible to pass only one variable through a packet. Thanks!
  21. UPD: SOLVED Hi. I've been trying to create a block attaching to adjacent blocks on 6 sides (kinda vines) with random textures. And the problem is... Wait, a quick maths: 11 vine models for 5 sides + additional bottom side = 23 models, and with 6 different textures it reaches 138 (!) Is it possible to randomize textures on different sides, because 23 * 6^6 models is a little too much? Example of a model x_1d_1 (1 side + bottom, texture 1): { "ambientocclusion": false, "textures": { "tex": "modid:blocks/tex_1" }, "elements": [ { "from": [ 0, 0.8, 0 ], "to": [ 16, 0.8, 16 ], "shade": false, "faces": { "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#tex_1", "tintindex": 0 }, "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#tex_1", "tintindex": 0 } } }, { "from": [ 0, 0, 15.2 ], "to": [ 16, 16, 15.2 ], "shade": false, "faces": { "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#tex_1", "tintindex": 0 }, "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#tex_1", "tintindex": 0 } } } ] } First texture is used on each face here and model x_1d_2 differs only in texture number. So can I add all the six textures to the model and randomize it? Thanks in advance.
  22. Hi! I have few questions: is it okay if I use a static class initializer to initialize final blocks instances, so they won't be public static and accessed by everything? And is it optimal to send few variables in network packets using nbt tags?
  23. By the way, does canceling event on high priority bypass low priority code from other mods?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.