Jump to content

Ommina

Members
  • Posts

    70
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Ommina

  1. [ Five Months Later ] Did you, perchance, make any progress on this? I'm on 1.21.1 and am experiencing the same inability to find "Direction" in net.minecraft.core -- BlockPos from the same package, fine! The Direction Enum, nope. I don't think I have the patience to deal with the IntelliJ reporting an increasing number of not-really-errors.
  2. I am actually registering separate blocks. I did consider block states, but felt their multiplicative nature would be prohibitive. If that's incorrect I'm willing to give them a go.
  3. Background: For the past few versions (1.14 onward) I've maintained a decorative mod that adds a not insignificant number of blocks. I've done so in the simplest way possible, with a texture and JSONs for each individual block. Inevitably, I got requests for stairs and other models, and here things started to wobble. Memory requirement shot up, sharply, to the point where I felt I had to include stairs and the like as separate addons, so users could install them only if they did not have "Carpenters Blocks" (or something like it) that allowed them to apply an arbitrary block texture to a model. Over the months, I've wondered off-and-on if there is a better way for me to create the blocks that may be a bit more smarter, and a bit less memory hungry. Given a particular world is likely to only use a (smallish) fraction of the available models, perhaps the creation of the models could be postponed until they are actually needed? I don't really want to move to a TileBlock Entity, but could consider it. I've also looked at Baked Models, but here I'm not sure if they will help: I still need to get item models from somewhere, and if I'm creating the block model to create the item's, I've not made any progress. Additionally, I very much want to keep things with as vanilla a feel as possible. Stairs should follow the standard vanilla stair recipe, and be placeable as would a vanilla stair. So -- any thoughts, suggestions, or corrections? How can I best add many blocks, while not increasing memory demands proportionally?
  4. This looks like "Missing Structure Fix"; see if you can do without it. See also https://github.com/Tfarcenim/Missing-Structure-Fix/issues/1
  5. I've never looked into the details of mixins, but given what understanding I do have of them, I can't help but feel this should be a version targeting 1.17.1 instead of 1.16.3.
  6. I need to make sure my understanding is correct. Within a mod, I appreciate that 'things' (whatever that thing might be) are registered in order of Block, Item, <rest of the stuff in whatever order it happen>. However, between mods, if one mod B is dependent on mod A, and is specified as such in mods.toml via ordering="AFTER", can I be confident that blocks from mod A will be registered before mod B registration begins? That is, can mod B fetch mod A blocks and be confident they are registered? I feel that's the whole point of indicating an order, but I've been caught by my own misinterpretations before.
  7. I know it doesn't, and you don't need a sources jar. And not a flatDir repository. url "file:..."
  8. OK. In the build.gradle for the library, at the bottom, there is a section for 'publishing'. Within that section is: repositories { maven { url "file:///${project.projectDir}/mcmodsrepo" } } Make note of the location. Or change it to something you like better. Or change it AND make note of it. I have to do a bit of hand-waving here, as I understand you are using Eclipse, and I don't know the Eclipse way of doing things. In IntelliJ there is a Gradle panel with a publishing section, command named 'publish'. Publish the library using this command. That will put the library into what amounts to a local Maven repository. In your mod, ADD that location to the mod's repositories section, keeping in mind you won't be able to use ${project.projectDir}. (This is why you might want to change it to a known convenient location.) THEN, under dependencies, compile fg.deobf("[path to library jar]") and that's it. The path matches how it appears under the mcmodsrepo folder.
  9. If you've added JEI via gradle, you do NOT need to also add it via other means. Remove the JEI jar from ./run/mods
  10. I'm going to back up here a little bit, to ensure that I'm understanding the goal correctly. You want to add your own library as a dependency of your mod. But you don't necessarily want to be able to edit both the library and the mod at the same time. Building the library, and adding it in via gradle so it is available to the mod is sufficient?
  11. The JEI Getting Started guide includes instructions on editing your build.gradle to add JEI integration. See their Github wiki.
  12. Excellent - I'm glad you were able to get it working there. Minecraft modding is often an exercise in frustration and perseverance. But normally not this soon. I note there is a difference in the two Eclipse screenshots. In the original, the resources tree was displayed with a series of folder icons. In the latter, working version, it's a set of white squares with a cross-hatch. Presumably this is relevant but I couldn't tell you how.
  13. Thanks for the updated repository. I was able to load it up with no fuss. There IS some wobbly bits in mods.toml (you have the mod set as a dependent of itself), but I'm willing to bet those were changes you made in a desperate attempt to figure out why the rest wasn't working. As for the item texture itself... it worked. Just fine. Localization also. No errors, no warnings. Not even a hint of disapproval. So at this point I'm hoping somebody with more experience with Eclipse than I will join in. As far as code and layout and filenames and all that nonsense is concerned, you've got it all correct.
  14. Don't worry about the version differences. So it's simply not finding /models/item/wither_bone.json --- which takes us back to the structure of the project overall. The screenshot looks correct enough at first and second glance, but something clearly isn't. I see you have a lang folder. Have you created a translation for item.jaylicraft.wither_bone ? Since it isn't showing as translated in game, that would also suggest the structure is confused. I'm kinda concerned by the icons Eclipse is using for the resources. If you're willing to update the repository with the complete project, I'll figure it out locally. Or perhaps somebody with sharper eyes than I can work it out from the screenshots.
  15. You have not included all the build bits when you created you repository, so I'm making guesses that the structure is correct. However, you do have a directory named /textures/items instead of textures/item which will certainly prevent it from finding the texture.
  16. It is? Even in 1.16.1, there's no indication anywhere that LootTableLoad event is deprecated. It's not that I disbelieve you, I just can't help but think that if there is a preference for modders to use one method over another, 'telling them' might be useful. But now I'm veering off-topic, and as @Salthin seems content, I'll step away.
  17. There is the LootTableLoad event, in which you can add itemstacks to dungeon loot tables. Perhaps that would be less fussy?
  18. What version of Forge? I believe this was fixed in, uhm, 32.0.55.
  19. I'm going mostly by memory here. If the colour is wrong (it is), then you're not applying the color attribute of the fluid (fluid.getAttributes().getColor()). Apply the colour to GlStateManager.color4f before the blit. Reset after! For the scaling, the .bindTexture call looks wrong for reasons I don't remember. I want to say it takes a TextureAtlas ResourceLocation, instead of that of a particular sprite. The getUV methods inside the blit then pull the correct texture from the atlas.
  20. So, anybody have a good tutorial / documented example / hint guide on creating a Carver for 1.15.2 ? My goal is to create a 'simple' underground fluid sphere; pretty much the same thing that Buildcraft has been doing for years. Needs to be able to cross chunk boundaries. (I could fit it into one chunk, but it's not as dramatic.) Vanilla's UnderwaterCaveWorldCarver has an encouraging name, but I'm getting lost in a sea of obfuscation. My experiments with registering my own have been less than successful. The entry function is being called multiple times (50 or more) per chunk, way more than I expected. I just don't understand enough about what carvers do and how then do it, even at a high level, to begin to piece together the vanilla code. I could just make a self-destructing TE create the sphere, and I could be done and moving on in a few minutes. But that feels like giving up. As always, thanks!
  21. I'm... confused by this. Why the loop?
  22. As an aside, you can add a json editor to Eclipse so it catches these kinds of errors for you.
  23. To a point. You can Run -> Reload Changed Classes, which will allow you to fiddle with existing functions and see the result without having to restart. But it will only take you so far. You can't add functions, or make any real widespread change. Handy for debugging, but I've found a restart is usually in the near future. Alas, the last I've seen the resource reload work successfully was in 1.12.2.
  24. In your model .json, try removing the .png from the"gypsyfire_fire": "gc:block/gypsyfire_fire.png"textures node entry.
  25. Well, we're here now, so we might as well stick with it. Chunk loading is largely covered by vanilla now; you'll find a forceChunk(int chunkX, int chunkZ, boolean add) inside ServerWorld. This, if I'm reading it correctly, appears to be saved with the Dimension data. There is also a public void forceChunk(ChunkPos pos, boolean add) in ServerChunkProvider -- this uses a ticketing type system similar (but not identical) to what ForgeChunkManager provided. You can also read some further discussion on mcenderdragon's (withdrawn) pull request.
×
×
  • Create New...

Important Information

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