Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/03/18 in all areas

  1. The general idea with "noise" generation is that they are just different functions for randomization. You have a threshold for placing blocks based on the output of that function. The function also usually has some input parameters to further control the amount of randomness. All this means that the outcome depends on a lot of "tuning" because you have a lot of "knobs to turn" to change the behavior. The random functions used in game world generation are often things like Perlin. This describes a distribution of randomness that seems more natural. For example, if you just used a "flat" random function you would get a result that would be actually random -- there wouldn't be clusters of hills, flat areas, etc. Perlin noise is well documented so you should check out information like: http://flafla2.github.io/2014/08/09/perlinnoise.html. Normally it is "best" to combine the Perlin noise on top of a more algorithmic structure. Like in the link above it talks about how you can make artificial handwriting by adding a Perlin noise offset to the line to emulate the shakiness of a real human hand. So for your islands you could use a sort of "reverse cave" approach. Instead of carving out a space of air within existing stone, you could create a space of stone in the air. That might be pretty cool. Or you could be more controlled about it and literally have logic that decides (also randomly, but could be traditional flat random chance) to make a floating island and then you could procedurally fill in a space in the air with stone and then use noise to carve away the surface to create more randomness. And so on. Ultimately it will take a lot of tuning but the basic ideas are the same -- you need some logic that decides that placing blocks for floating island is needed and then you add some noise on top of that to give sense of natural randomness.
    1 point
  2. Lets start with this chunk: And boil it down to only the important bits: Three lines. The first one tells us what variant failed to load. Not very important, but this is where to start. Then we find the next "Caused by" line, line two. "Encounter an exception when loading the model definition" this tells us something is wrong with the model, not the blockstate file. The next "Caused by" line tells us what went wrong: NoSuchElementException. Something is wrong with your realfoods:tomato_plant.json model, which you have not posted.
    1 point
  3. Well, no, they've never been officially supported, just condoned by the EULAs. Just if you've wondered, a brief history of modding (possibly oversimplified with errors): In the beginning there was MCP (Minecraft Coder Project), which, like Forge, was third-party. It provided utilities that decompiled and deobfuscated Minecraft for modding. It was all about "install mods" (aka, "jar mods") -- to install a mod you actually had to open minecraft.jar with a tool for zip files (jar's really are speciallized zip files). If something went wrong the game could break (so you backed up the jar) and if two mods changed the same class they could not be used together -- the second one you installed would break the first by overwriting its changes. Then came two innovations. One was the mod loader, of which there were several (Rasgumi's, LiteLoader, etc.) -- you could install those mods and then they could load other mods. Second there was Forge, which included APIs and ways to avoid modding base classes directly. Then, Forge added its own built-in Forge Mod Loader (FML). Installing mods in the jar was then obsolete, modding was much safer, and huge modpacks became possible and eventually common. However, modding Minecraft has never been like modding most games -- you really are hacking the games binary either directly or indirectly. With Forge, you can avoid hacking the core game. Still, new release break everything, and force MCP and Forge to fix everything for the new versions; I'm sure all the work is why the Forge team doesn't want to support really old game versions. I might want to look at the link given above for the details, as I never worried about it too much. But I do know this -- the ability to load new code at run time is part of the Java language, supported through what are called classloaders. Modding if possible because of the nature of the Java language rather than the intentional design or Notch or Mojang. Thus, Forge only works for the "Java edition."
    1 point
  4. Things are going to change. And people will complain about it. There isn't anything that can be done about it so threads like these are useless.
    1 point
×
×
  • Create New...

Important Information

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