The only way pretty much any mod could be compatible with TMCW, at least TMCWv4.5 and later* is is you merged their sources; I've very extensively modified many core classes (for example), though the actual error seems to be in ClientBrandRetriever, which I didn't modify (though from the looks of it Mojang probably intends that you do, by default it returns "vanilla") and I have no idea where the missing "mods" field could be as it doesn't mention the class it is in, and looking at the features list for "OldDays/NBXlite" (the first link you gave) all I can say is "nope" unless you want to modify/merge dozens of classes (in many cases another mod won't even replace the correct classes since instead of just modifying them I renamed them, changing every reference in the code to point to my new classes; only core classes, which are referenced everywhere and/or by a lot of otherwise unmodified classes, were directly modified, in a few cases I turned the original vanilla class into a wrapper which calls my own class).
The entire world generation system was also completely changed (there isn't even a separate class for Superflat generation, just a few "isSuperflat" toggles to control terrain generation; this is why you can get all normal features; the decoration method for biomes is different and the default one would do nothing, and otherwise vanilla-based methods need a "Random" parameter, not "Random64", or "WorldGenerator" not "WorldGeneratorTMCW", etc; chunk generation, including the method used in Chunk to copy raw terrain to a new chunk, assumes a height of 256 (you can't just use vanilla's 16x16x128 chunk array as the index is calculated differently), and so on). At best, any mod that lets you switch between world generators would probably completely replace TMCW's generation with vanilla.
Also, to illustrate just how small of a change can break mod compatibility, older versions of TMCW, and my standalone "no void fog" mod, change a single line to always return false (in current versions the method isn't used at all but the same class is otherwise extensively modified), yet it crashes Forge (without any mods) because Forge normally adds new fields and/or methods to the class:
*TMCWv1-4 are compatible with Optifine and are internally much simpler, mostly directly modifying vanilla classes instead of replacing them with custom classes and with less custom methods added, but I never tested any other mods (back then the only change I made to rendering was to disable void fog and this was indirect as the actual rendering code was unmodified), especially anything that adds or modifies blocks/items/mobs/world generation, which are all likely incompatible; I've not used any other mods since early 2014 and prior to then I directly modified the Forge source to ensure compatibility with the handful of mods I used back then (I may have thought this was how you made Forge mods, I even tried getting Forge to load a zip/jar containing modified classes).
Thank you for the fast and detailed response. Your mod has kind of inspired me to make my own in a similar vein, the information you gave me is very interesting.
I'm not sure how something like this would even be fixed, but sometimes when sand banks form on the shores of rivers, flowers, which otherwise would've spawned on grass, attempt to spawn on sand, immediately break (or so I'd assume, I don't actually see them breaking) and drop themselves as an item. When travelling I've found dropped multiple flowers on sand blocks, all near rivers.
I'm not sure how something like this would even be fixed, but sometimes when sand banks form on the shores of rivers, flowers, which otherwise would've spawned on grass, attempt to spawn on sand, immediately break (or so I'd assume, I don't actually see them breaking) and drop themselves as an item. When travelling I've found dropped multiple flowers on sand blocks, all near rivers.
This is caused by the way the game decorates chunks; flowers can only spawn on grass and dirt and while they generate after sand does sand from neighboring chunks can replace the blocks under them since decorations can cover a 32x32 block area (they are placed in a 16x16 block area centered in a 2x2 chunk area, which allows them to cross chunk borders, extending up to 8 blocks from their center, or 17x17 total, while minimizing the number of chunks that need to be loaded, as opposed to e.g. a 3x3 chunk area, which would still have the same problem). It is possible to check for blocks like flowers when replacing blocks with sand, which I've done in the case of village paths; Tropical Swamp lakes also remove plants above them, as well as fill in tree trunks down to the ground.
That said, I've never noticed this while playing, except right at spawn, since I travel around very slowly (I solely explore the world by caving, taking 45-50 days to cover a single level 3 map, or less than 100 chunks per 3-4 hour play session; the random tick area is 15x15 chunks so as long as it takes more than about 5 minutes to travel 112-128 blocks any dropped items will have despawned. Also, in newer versions flowers and tall grass no longer randomly tick, making the issue effectively permanent (this is why you can find flowers in pitch black caves since 1.7, though the lack of light ought to have stopped them from generating in the first place. They may have changed this as an optimization but the performance impact of random ticks is insignificant (grass blocks are more common and have a much more complicated updateTick() method, and increasing random tick speed by 100x for testing has less of an impact than switching from Peaceful to Easy+ due to hostile mobs being ticked).
Also, the way decorations are placed causes them to vary based on the direction you travel in, since e.g. trees only generate on blocks directly exposed to the sky, thus leaves from trees in neighboring chunks can cover up otherwise valid locations, which differs based ion the order the chunks were populated in (in e.g. Mega Forest this is less apparent since I check down for the actual ground, otherwise, not much would be able to generate below the biggest trees, but sand, lakes, etc can still affect them).
Interestingly, Mojang may have (my speculation) removed water lakes ("ponds") partly because of the issues they caused with undercutting trees and structures (as with sand they generate before most other features but can cut through them due to overlapping from adjacent populated regions); this is also why I only allow "big" lakes to generate underground since they cover the entire 32x32 populated area (notably, lakes in villages was due to a bug in 1.13+; in previous versions they were disabled in chunks containing villages, which I expanded to include other structures, except mineshafts; 1.13+ also multithreaded world generation so the chunk generation/decoration order is now basically random even for the same player movement direction).
Only the contents (not the folder itself) of the "Mod" folder goes into the jar; you also replace "1.6.4.json" with "TMCWv5.json" and must use the same name for all the files (".minecraft\versions\1.6.4" to ".minecraft\versions\TMCWv5", same for "1.6.4.jar"). Also, the "Readme" file has instructions on how to install the mod and what the different folders in the download are for (I've previously attempted to edit it to make it more clear as to what you need to do; while I say to make a copy of the "versions\1.6.4" folder you can just rename the original one as the launcher will redownload it if necessary):
Actual mod is located in Mod folder; only the contents of this folder should be added to the Minecraft jar.
To install, create a new profile named TMCWv5 with 1.6.4 as the version and click Play to download 1.6.4 (if you don't already have it), then close the launcher and go to the versions folder in .minecraft (%appdata% on Windows) and copy the 1.6.4 folder and rename it and the jar inside to TMCWv5. Replace the json file with the one found in the root of this archive; it has already been modified so the launcher will not try to redownload the jar. Install the mod files directly into the jar using a zip utility (do not try to rename it to zip and use Windows because there is a class file in the vanilla jar with a reserved Windows filename which will break things), and delete META-INF. You should then see a new version named TMCWv5 appear next to 1.6.4 in the version list in the launcher; successful installation is easy to confirm since the title of the game window will be "TheMasterCaver's World (version 5)".
Note that this only applies to the vanilla launcher; I've never used any other launcher, though I know that MultiMC has a "add as jar mod" option so you don't need to directly edit the jar, just make a new profile for a custom version using 1.6.4; the contents of the "Mod" folder are zipped (again, the contents, not the folder itself or any other files) and this zip file is what you add as a jar mod.
In any case I also recommend making a new game directory but that isn't strictly needed as TMCWv5 uses its own options.txt and stats files and can only recognize its own worlds (vanilla worlds do not show up in the saves menu and prevent you from making a new world with the same name), but any vanilla version can see/try to load them; the JVM arguments that I recommend may or may not be the best ones to use (they are a modification of the "original" arguments and work better on lower-end computers; the newer G1GC may be better for high-allocation rate/memory intensive programs but TMCW is anything but that, and has a higher overhead).
Sorry to bother you about this, Now it's just crashing with exit code zero. The launchers window crashes too.
Normally i'm not this helpless. But, I have never done this sort of modding before(I've just used forge).
There should be some sort of rule against posting "exit code x" as the cause of a crash - that is all but meaningless in most cases (in fact, 0 just means the program terminated normally, and appears when you quit the game, and normally a game crash returns -1 so this suggests that the game isn't even loading; does the window appear at all?). You can find crash reports at ".minecraft\crash-reports", and the output from the launcher itself in "launcher_log.txt", which should have details even if a crash report was never created, unless the launcher didn't save it (I have no idea why the launcher itself would crash). It may be because you have "old_1.6.4.jar" in the same folder and it is breaking the launcher in some way; delete the file (when I said to copy and rename things I meant the entire ".minecraft\versions\1.6.4" folder; if you want a backup of the original it will be in the original folder).
Here are some screenshots showing how I installed it:
Note that I am in the "Mod" folder within "TMCWv5.zip" (in its extracted form):
You can see how the files have been added to the jar (the contents of the "assets" and "net" folders should be automatically merged with the original - they are not replaced); remember also to delete META-INF as shown:
The end result should look like this; no other files in the "versions\TMCWv5 folder"; also make sure the size of TMCWv5.jar matches what is shown (might be slightly different, also compare the file sizes/counts shown above):
Also, the Java version may be an issue; if the launcher is trying to use Java 17 (IDK if this is the default for all versions or only newer versions of the game) this could be a problem (though if vanilla 1.6.4 works then so should TMCWv5; modloaders like Forge are notorious for having issues (the 1.6.4 version can't run on even Java 8 unless it is patched) but I don't use any code/library calls/special Java functions that vanilla doesn't).
The Meaning of Life, the Universe, and Everything.
Location:
Hypixel
Join Date:
9/28/2022
Posts:
53
Location:
America
Member Details
I have gotten a step closer, I merged the net/assets file this time, But It did the same thing with a -1 error code. I couldn't find an error report past yesterday. Probably because the launcher crashes before it can make a report. Sorry
What are these rock formations on beaches supposed to represent? They appear on beaches of all types and seem to be intentional, but I can't figure out what they are. They stand above the sand blocks and not covered below them, and appear quite far from the shore, but also in the Ocean Shallows near the beach. Are they just beached rocks? Why are they so large and why do they often spawn so far from the shore?
What are these rock formations on beaches supposed to represent? They appear on beaches of all types and seem to be intentional, but I can't figure out what they are. They stand above the sand blocks and not covered below them, and appear quite far from the shore, but also in the Ocean Shallows near the beach. Are they just beached rocks? Why are they so large and why do they often spawn so far from the shore?
Those are boulders, similar to the ones found in Mega Taigas; your screenshots appear to be from Large Biomes and normally they won't be as common due to the smaller biome sizes (I primarily developed TMCW with the default world type in mind, as well as my playstyle - if I played on Large Biomes I'd barely find much in terms of biome variety; these maps say it all, they are both +/- 1536 blocks, an area which would take me around 1,600 hours to explore based on my current rate of exploration (via caving) with the Large Biomes map equivalent to less than a single level 3 map on Default - and this very lack of variety is one reason why I dislike vanilla 1.7+ world generation); maybe I could make them less common on Large Biomes.
The Meaning of Life, the Universe, and Everything.
Location:
Hypixel
Join Date:
9/28/2022
Posts:
53
Location:
America
Member Details
Hi there again! I am starting to mod 1.2.5, And I decompiled it, However, all of the variables are one letter words. So I was wondering how you did it, Do you use mcp?
Hi there again! I am starting to mod 1.2.5, And I decompiled it, However, all of the variables are one letter words. So I was wondering how you did it, Do you use mcp?
Yes; you can find every version of MCP here (the official "web site" is a joke, they used to have a proper site but moved to a new one and just threw up a few links, and only back to 1.7.10, and never updated it again).
I can't say for older versions but the 1.6.4 version is pretty well-documented with comments (example below) and most method and field names are deobfuscated (a few are poorly named though, in some cases even doing the opposite of what they were named), though method parameters and variables still have names like "par1" and "var1" (or "par1World" when the type is an object, which helps distinguish it), which I assume is what you are referring to (as shown in the example the actual parameter names may be explained in a comment).
public abstract class World implements IBlockAccess
{
/**
* boolean; if true updates scheduled by scheduleBlockUpdate happen immediately
*/
public boolean scheduledUpdatesAreImmediate;
/** A list of all Entities in all currently-loaded chunks */
public List loadedEntityList = new ArrayList();
protected List unloadedEntityList = new ArrayList();
/** A list of all TileEntities in all currently-loaded chunks */
public List loadedTileEntityList = new ArrayList();
private List addedTileEntityList = new ArrayList();
/**
* Gets the biome for a given set of x/z coordinates
*/
public BiomeGenBase getBiomeGenForCoords(int par1, int par2)
{
if (this.blockExists(par1, 0, par2))
{
Chunk var3 = this.getChunkFromBlockCoords(par1, par2);
if (var3 != null)
{
return var3.getBiomeGenForWorldCoords(par1 & 15, par2 & 15, this.provider.worldChunkMgr);
}
}
return this.provider.worldChunkMgr.getBiomeGenAt(par1, par2);
}
/**
* Sets the block ID and metadata at a given location. Args: X, Y, Z, new block ID, new metadata, flags
* Flag 1 will cause a block update. Flag 2 will send the change to clients (you almost always want this).
* Flag 4 prevents the block from being re-rendered, if this is a client world. Flags can be added together.
*/
public boolean setBlock(int par1, int par2, int par3, int par4, int par5, int par6)
An example of my own modifications to the same class and methods, including new ones I added; I also rename most parameters and variables in the classes I modify (if I change a method's signature or field type I generally rename it to help avoid confusion and ensure all dependent code has been updated; of course, this practice, or even just changing class/method signatures, breaks mod compatibility but that is not a concern for me):
public abstract class World implements IBlockAccess
{
// Used to send state of thundering to the client (fixes MC-673; only singleplayer is supported)
protected static boolean THUNDER;
// Highly optimized and bugfixed lighting engine which replaces all vanilla lighting methods in World and Chunk
public final LightUpdater lightUpdater;
// Used by canBlockFreeze to determine if water in Frozen Ocean is frozen
private TerrainNoiseGenerator frozenOceanNoise;
private boolean initFrozenOceanNoise;
// Only used by flowing liquids placed during world generation
public boolean scheduledUpdatesAreImmediate;
public BiomeGenBase getBiomeGenForCoords(int posX, int posZ)
{
Chunk chunk = this.getLoadedChunk(posX >> 4, posZ >> 4);
if (!chunk.isEmpty())
{
return chunk.getBiomeGenForWorldCoords(posX & 15, posZ & 15, this.provider.worldChunkMgr);
}
else
{
// Defaults to ocean for the client so it does not access GenLayer due to concurrency issues
return (this.isRemote ? BiomeGenBase.ocean : this.provider.worldChunkMgr.getBiomeGenAt(posX, posZ));
}
}
// Returns a biome ID instead of BiomeGenBase object. Note that invalid biome IDs will not be corrected
public int getBiomeID(int posX, int posZ)
{
Chunk chunk = this.getLoadedChunk(posX >> 4, posZ >> 4);
if (!chunk.isEmpty())
{
return chunk.getBiomeID(posX, posZ);
}
else
{
return (this.isRemote ? Biomes.ocean : this.provider.worldChunkMgr.getBiomeGenAt(posX, posZ).biomeID);
}
}
// flag is notifyNeighbors (1) + sendUpdate (2) + dontRender (4), usually set to 3 for notify+update, 2 during world
// generation. 1 and 2 are server-side only while 4 is client-side only (functionally the same as 0 server-side).
public boolean setBlock(int posX, int posY, int posZ, int block, int meta, int flag)
I've released a significant update (actually, one of two recently, the first one including some of the more important fixes, the second one mostly features) which includes many of the features discussed here recently, such as larger Nether portals, fallen trees from Bedrock Edition (with a lot more variations), packed ice obtainable without Silk Touch, as well as many bugfixes and optimizations (including some mentioned before, such as plants being left on invalid blocks/floating when underwater sand/gravel or lakes generate under them, which now remove such plants, and water lakes extend the trunks of trees/huge mushrooms down to the bottom (lava lakes do not as they will burn anyway), and dungeons no longer generate if more than half the floor would be missing (somebody found a dungeon with no floor at all, an extremely rare occurrence; otherwise, only a very small fraction of dungeons no longer generate):
Added changelogs/feature lists from earlier versions of TMCW (currently back to TMCWv4, the earliest version with a well-structured changelog/feature list; many features back to TMCWv1 are still relevant but some may have changed).
Made some additional fixes and optimizations (some from https://github.com/jss2a98aj/BugTorch, most notably a memory leak related to redstone torches; as well as various bugs listed at https://github.com/fxmorin/carpet-fixes/wiki/Available-Settings (no source code was actually used); also refactored entity and particle base classes to reduce object size/allocations, particularly for particles (3x less memory and greatly simplified moveEntity method), and apply fixes and changes previously specific to living entities to all entities).
Fixed items and XP dropped by mobs appearing in the wrong location for a second after spawning and fixed/reduced effect of https://bugs.mojang.com/browse/MC-4 (most visible when e.g. cutting down a tree and saplings appear to fall from decaying leaves, then jump back up).
Dungeons no longer generate if more than half the floor would be cleared (they do not generate unless the floor is entirely solid but if it is only 1 block thick it is cleared instead of being replaced with cobblestone) and chests are always placed on the ground.
Increased the frequency of the largest variants of caves (types 3/4) from 1/6 to 1/5 of all type 2-4 caves so their volume distribution more closely matches that of large ravines (https://i.imgur.com/1f4uiaG.png).
Up to 2 additional type 3/4 caves and 2 type 4 ravines are added if the area within 1536 blocks of the origin doesn't have any, or less than 2 type 3 and/or 1 type 4 caves with a width of at least half the maximum. This and the previous change only have local impacts and not on all seeds (e.g. the seed I'm playing on has one cave change within a previously explored area; in general I avoid making any changes that would cause chunk walls while playing on a world).
Fixed magma blocks turning ice into water in the Nether; ice also now makes steam particles when it melts in the Nether and lava flowing into snow layers likewise does the same (white instead of black smoke).
In most forested biomes 1/10 of chunks have half the tree density and another 10-20% of chunks have a chance of a fallen and/or dead tree, similar to Bedrock Edition, or the dead trees found in Mesa and other biomes, both of which also come in more variants (e.g. with a taller stump or small/large branches).
Renamed Iceland biome to Icelands to be more consistent with other biomes, e.g. Badlands, Bushlands.
CaveFinder now measures the size of mineshafts by the length of their corridors for more accurate results (e.g. the largest mineshaft I've found in terms of size was size 363/length 3655 compared to a mineshaft of size 351/length 4035). Also added "nostructures" option which simulates "generated structures: off" for accurate results on such worlds (this allows additional caves to generate that would otherwise be excluded).
Nether gold ore now uses an overlay like other ores, making it easier to change the base texture (Netherrack) independently of the ore texture (Nether quartz is still vanilla as it is assumed that any resource packs will have changed it to match Netherrack).
As in the original suggestion for Autumnal Forest black bears, which are normally always hostile, will now become passive if fed meat (including fish), but will turn hostile again if attacked by a player.
Patches of sand/gravel and lakes now remove plants which would be left on invalid blocks, causing them to drop when randomly ticked (this is most noticeable when traveling fast enough, otherwise the dropped items may despawn); water lakes also extend the trunks of trees and huge mushrooms that were above them down to the ground.
Packed ice can now be obtained without Silk Touch; this change was in part made due to a request due to the issues of building in Icelands/Ice Plains Spikes/Ice Hills without enchanted tools. The hardness of opaque-packed-blue ice were also changed from 0.5-1.0-1.5 to 0.5-1.5-2.5 (vanilla 1.13 uses 0.5 for packed ice and 2.8 for blue ice). Blast resistance is now the same as hardness (was 1 for all types; biome stone variants are still 1.5 for both hardness and resistance).
Made some changes to world generation to accommodate Large Biomes better; the small "rivers" in Ice Hills and Swampland now use the same scale as Default (this change causes them to be in different locations in Default worlds but the effects are minor). Beach boulders are also reduced by 33% on land (2/3 chance per chunk) and 50% underwater (1 instead of 2 per chunk). Boulders and palm trees also have a 1/32 chance of generating in a chunk (in addition to 25% of 4x4 chunk regions).
Fixed buckets and other items targeting wrong block when sneaking (MC-1893), also affects height of fired arrows from bows.
Fixed mobs accumulating fall distance when bobbing on a leash (MC-14167); they will still take damage if they are dropped (e.g. player jumps down while leashed to a mob).
Redstone torches no longer randomly tick (fixes inconsistent behavior when burned out; added an 8 second delay before turning on again, similar to newer versions).
Fixed MC-30845 (non-collidable blocks like tall grass and kelp affecting 3rd person view as if they were solid).
FPS is now limited to 10 when the game is unfocused to help reduce resource usage when in the background, similar to how I previously limited FPS to 60 while paused (if it was higher and Vsync was disabled).
Sheep no longer affect blocks in the world when mobGriefing is disabled, but can still eat (MC-147444).
Added a dead tree model as a dead bush variant to flower pots (sneak-right-click to cycle through them).
Fixed ghast attack animation (MC-165038; they used to "swell" before firing, similar to creepers, not just change their texture, which was lost in singleplayer in 1.3 and never worked in multiplayer.
Added larger nether portals from 1.7 (2x3 to 21x21 blocks); nether portals can also no longer be made with variants of obsidian (existing portals will remain; this was never really an intended feature but a side-effect of reusing vanilla block IDs for new blocks with similar properties).
Added a work-around for "ghost" blocks (as e.g. sometimes occur when instant-mining blocks with fast tools); if the player collides with a block that they shouldn't have blocks surrounding the player will be resent to the client to force them to update; the player will also be pushed back slightly (not just reset to the last valid position server-side).
Here are screenshots and more descriptions of some of the new features:
Lakes remove plants left floating over them (not really shown) and extend the trunks of trees and huge mushrooms down to the bottom:
A significant bugfix for 3rd person view; transparent blocks no longer block the camera, causing it to zoom in (as detailed in MC-30845):
Some of the many forms that fallen and dead trees, which can be found in most forested biomes (not every variant generates in every biome; some only have 1 block high stumps, or the dead oak-like variant which was previously added to Mesa and Volcanic Wasteland):
Also, dead bushes have a dead tree model in flower pots (right-click with an empty hand while sneaking to switch between the dead bush and dead tree models, as with other plants that have such models):
Did you know that Ghasts are supposed to "swell" before firing? This is a long-lost feature which was broken in singleplayer 1.3, and never worked in multiplayer (1.3 is when singleplayer was moved to a server-client model, leading to scores of bugs and broken features which had never been coded to work in multiplayer); Mojang also has no plans to ever reintroduce it (the fix was incredibly easy, just an extension of already existing code that changes their texture before firing to include a "swelling" flag):
Nether portals can now be made in any size from 2x3 to 21x21 (4x5 to 23x23 frame); I did remove the ability for amethyst blocks and other obsidian variants to make portals but this was never an intended feature, only a limitation of using vanilla blocks for new blocks with similar properties (I originally made amethyst blocks and ore variants of obsidian so you had to use a diamond pickaxe to mine it):
I made some changes to world generation to improve Large Biomes worlds; the small "rivers" in Ice Hills (in the center) and Swampland (the blue-green biome to the lower-right of center) (intended to make them more varied; the swamp rivers are a vanilla feature) now have the same size regardless of world type/biome size (you can see that this also affects Volcanic Wasteland (the pinkish biome near the right-center) and Rocky Mountains (the gray and white biome near the bottom), which I previously made like this). Note that default worlds are slightly different but this is unlikely to cause any noticeable effects unless such a biome is at the edge of generated chunks (the left side is before and the right is after):
This is an example of a seed which has additional large caves and/or ravines added because it didn't have enough within 1536 blocks of the origin, as indicated by the debug output at the top (I previously added code in TMCWv4 that ensures that there is always at least one colossal cave system and giant cave region). Also, as shown by the mineshaft results (the first and last 5 out of all results found are shown) they are now measured more accurately, using the total corridor length instead of the number of structure pieces ("size") as corridors are where their content is (chests, spawners, and rails. A single corridor piece is 5-20 blocks long, or 1-4 supports):
The chance of the largest variants of caves (types 3/4) were also increased from 1/6 to 1/5 so the volume distribution more closely matches that of ravines (up to the point where ravines approach their maximum volume):
Thank you for the fast and detailed response. Your mod has kind of inspired me to make my own in a similar vein, the information you gave me is very interesting.
I'm not sure how something like this would even be fixed, but sometimes when sand banks form on the shores of rivers, flowers, which otherwise would've spawned on grass, attempt to spawn on sand, immediately break (or so I'd assume, I don't actually see them breaking) and drop themselves as an item. When travelling I've found dropped multiple flowers on sand blocks, all near rivers.
This is caused by the way the game decorates chunks; flowers can only spawn on grass and dirt and while they generate after sand does sand from neighboring chunks can replace the blocks under them since decorations can cover a 32x32 block area (they are placed in a 16x16 block area centered in a 2x2 chunk area, which allows them to cross chunk borders, extending up to 8 blocks from their center, or 17x17 total, while minimizing the number of chunks that need to be loaded, as opposed to e.g. a 3x3 chunk area, which would still have the same problem). It is possible to check for blocks like flowers when replacing blocks with sand, which I've done in the case of village paths; Tropical Swamp lakes also remove plants above them, as well as fill in tree trunks down to the ground.
That said, I've never noticed this while playing, except right at spawn, since I travel around very slowly (I solely explore the world by caving, taking 45-50 days to cover a single level 3 map, or less than 100 chunks per 3-4 hour play session; the random tick area is 15x15 chunks so as long as it takes more than about 5 minutes to travel 112-128 blocks any dropped items will have despawned. Also, in newer versions flowers and tall grass no longer randomly tick, making the issue effectively permanent (this is why you can find flowers in pitch black caves since 1.7, though the lack of light ought to have stopped them from generating in the first place. They may have changed this as an optimization but the performance impact of random ticks is insignificant (grass blocks are more common and have a much more complicated updateTick() method, and increasing random tick speed by 100x for testing has less of an impact than switching from Peaceful to Easy+ due to hostile mobs being ticked).
Also, the way decorations are placed causes them to vary based on the direction you travel in, since e.g. trees only generate on blocks directly exposed to the sky, thus leaves from trees in neighboring chunks can cover up otherwise valid locations, which differs based ion the order the chunks were populated in (in e.g. Mega Forest this is less apparent since I check down for the actual ground, otherwise, not much would be able to generate below the biggest trees, but sand, lakes, etc can still affect them).
Interestingly, Mojang may have (my speculation) removed water lakes ("ponds") partly because of the issues they caused with undercutting trees and structures (as with sand they generate before most other features but can cut through them due to overlapping from adjacent populated regions); this is also why I only allow "big" lakes to generate underground since they cover the entire 32x32 populated area (notably, lakes in villages was due to a bug in 1.13+; in previous versions they were disabled in chunks containing villages, which I expanded to include other structures, except mineshafts; 1.13+ also multithreaded world generation so the chunk generation/decoration order is now basically random even for the same player movement direction).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Do I drop all of these into the jar?
I'm really bad at the older way to mod.
Only the contents (not the folder itself) of the "Mod" folder goes into the jar; you also replace "1.6.4.json" with "TMCWv5.json" and must use the same name for all the files (".minecraft\versions\1.6.4" to ".minecraft\versions\TMCWv5", same for "1.6.4.jar"). Also, the "Readme" file has instructions on how to install the mod and what the different folders in the download are for (I've previously attempted to edit it to make it more clear as to what you need to do; while I say to make a copy of the "versions\1.6.4" folder you can just rename the original one as the launcher will redownload it if necessary):
Note that this only applies to the vanilla launcher; I've never used any other launcher, though I know that MultiMC has a "add as jar mod" option so you don't need to directly edit the jar, just make a new profile for a custom version using 1.6.4; the contents of the "Mod" folder are zipped (again, the contents, not the folder itself or any other files) and this zip file is what you add as a jar mod.
In any case I also recommend making a new game directory but that isn't strictly needed as TMCWv5 uses its own options.txt and stats files and can only recognize its own worlds (vanilla worlds do not show up in the saves menu and prevent you from making a new world with the same name), but any vanilla version can see/try to load them; the JVM arguments that I recommend may or may not be the best ones to use (they are a modification of the "original" arguments and work better on lower-end computers; the newer G1GC may be better for high-allocation rate/memory intensive programs but TMCW is anything but that, and has a higher overhead).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
I seem to have properly installed it
(Misspelled successful)
Now launching...
Mojang, Please fix your error messages!
Failed to download file. Name: TMCWv5.jar URL: https://s3.amazonaws.com/Minecraft.Download/versions/TMCWv5/TMCWv5.jar Filename on disk: TMCWv5.jar Path: /Users/pw/Library/Application Support/minecraft/versions/TMCWv5/TMCWv5.jar Exists: Nonexistent
They are all in the versions/TMCWv5 folder. Sorry for the inconvinience.
You misspelled the name of the jar - TWCWv5 ("W" instead of "M".
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Sorry to bother you about this, Now it's just crashing with exit code zero. The launchers window crashes too.
Normally i'm not this helpless. But, I have never done this sort of modding before(I've just used forge).
There should be some sort of rule against posting "exit code x" as the cause of a crash - that is all but meaningless in most cases (in fact, 0 just means the program terminated normally, and appears when you quit the game, and normally a game crash returns -1 so this suggests that the game isn't even loading; does the window appear at all?). You can find crash reports at ".minecraft\crash-reports", and the output from the launcher itself in "launcher_log.txt", which should have details even if a crash report was never created, unless the launcher didn't save it (I have no idea why the launcher itself would crash). It may be because you have "old_1.6.4.jar" in the same folder and it is breaking the launcher in some way; delete the file (when I said to copy and rename things I meant the entire ".minecraft\versions\1.6.4" folder; if you want a backup of the original it will be in the original folder).
Here are some screenshots showing how I installed it:
You can see how the files have been added to the jar (the contents of the "assets" and "net" folders should be automatically merged with the original - they are not replaced); remember also to delete META-INF as shown:
The end result should look like this; no other files in the "versions\TMCWv5 folder"; also make sure the size of TMCWv5.jar matches what is shown (might be slightly different, also compare the file sizes/counts shown above):
Also, the Java version may be an issue; if the launcher is trying to use Java 17 (IDK if this is the default for all versions or only newer versions of the game) this could be a problem (though if vanilla 1.6.4 works then so should TMCWv5; modloaders like Forge are notorious for having issues (the 1.6.4 version can't run on even Java 8 unless it is patched) but I don't use any code/library calls/special Java functions that vanilla doesn't).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
You should add "Mipmap" graphics setting. Things from far away look aliased.
I have gotten a step closer, I merged the net/assets file this time, But It did the same thing with a -1 error code. I couldn't find an error report past yesterday. Probably because the launcher crashes before it can make a report. Sorry
I don't like bothering you, And I don't think you enjoy me bothering you.
So I'm gonna try to figure this out on my own.
Thanks for your help and PLEASE don't take this as an insult.
I'm just a newb, And I don't want bad relations with you for the rest of my time here. I don't want to be that forum pest.
Again, Thank you for all of your help, You have helped me fix one problem. I need to stop writing this garbage
What are these rock formations on beaches supposed to represent? They appear on beaches of all types and seem to be intentional, but I can't figure out what they are. They stand above the sand blocks and not covered below them, and appear quite far from the shore, but also in the Ocean Shallows near the beach. Are they just beached rocks? Why are they so large and why do they often spawn so far from the shore?
Those are boulders, similar to the ones found in Mega Taigas; your screenshots appear to be from Large Biomes and normally they won't be as common due to the smaller biome sizes (I primarily developed TMCW with the default world type in mind, as well as my playstyle - if I played on Large Biomes I'd barely find much in terms of biome variety; these maps say it all, they are both +/- 1536 blocks, an area which would take me around 1,600 hours to explore based on my current rate of exploration (via caving) with the Large Biomes map equivalent to less than a single level 3 map on Default - and this very lack of variety is one reason why I dislike vanilla 1.7+ world generation); maybe I could make them less common on Large Biomes.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Hi there again! I am starting to mod 1.2.5, And I decompiled it, However, all of the variables are one letter words. So I was wondering how you did it, Do you use mcp?
Yes; you can find every version of MCP here (the official "web site" is a joke, they used to have a proper site but moved to a new one and just threw up a few links, and only back to 1.7.10, and never updated it again).
I can't say for older versions but the 1.6.4 version is pretty well-documented with comments (example below) and most method and field names are deobfuscated (a few are poorly named though, in some cases even doing the opposite of what they were named), though method parameters and variables still have names like "par1" and "var1" (or "par1World" when the type is an object, which helps distinguish it), which I assume is what you are referring to (as shown in the example the actual parameter names may be explained in a comment).
An example of my own modifications to the same class and methods, including new ones I added; I also rename most parameters and variables in the classes I modify (if I change a method's signature or field type I generally rename it to help avoid confusion and ensure all dependent code has been updated; of course, this practice, or even just changing class/method signatures, breaks mod compatibility but that is not a concern for me):
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
I will look into it, Thanks!
Made some additional fixes and optimizations (some from https://github.com/jss2a98aj/BugTorch, most notably a memory leak related to redstone torches; as well as various bugs listed at https://github.com/fxmorin/carpet-fixes/wiki/Available-Settings (no source code was actually used); also refactored entity and particle base classes to reduce object size/allocations, particularly for particles (3x less memory and greatly simplified moveEntity method), and apply fixes and changes previously specific to living entities to all entities).
Fixed items and XP dropped by mobs appearing in the wrong location for a second after spawning and fixed/reduced effect of https://bugs.mojang.com/browse/MC-4 (most visible when e.g. cutting down a tree and saplings appear to fall from decaying leaves, then jump back up).
Dungeons no longer generate if more than half the floor would be cleared (they do not generate unless the floor is entirely solid but if it is only 1 block thick it is cleared instead of being replaced with cobblestone) and chests are always placed on the ground.
Increased the frequency of the largest variants of caves (types 3/4) from 1/6 to 1/5 of all type 2-4 caves so their volume distribution more closely matches that of large ravines (https://i.imgur.com/1f4uiaG.png).
Up to 2 additional type 3/4 caves and 2 type 4 ravines are added if the area within 1536 blocks of the origin doesn't have any, or less than 2 type 3 and/or 1 type 4 caves with a width of at least half the maximum. This and the previous change only have local impacts and not on all seeds (e.g. the seed I'm playing on has one cave change within a previously explored area; in general I avoid making any changes that would cause chunk walls while playing on a world).
Fixed magma blocks turning ice into water in the Nether; ice also now makes steam particles when it melts in the Nether and lava flowing into snow layers likewise does the same (white instead of black smoke).
In most forested biomes 1/10 of chunks have half the tree density and another 10-20% of chunks have a chance of a fallen and/or dead tree, similar to Bedrock Edition, or the dead trees found in Mesa and other biomes, both of which also come in more variants (e.g. with a taller stump or small/large branches).
Renamed Iceland biome to Icelands to be more consistent with other biomes, e.g. Badlands, Bushlands.
CaveFinder now measures the size of mineshafts by the length of their corridors for more accurate results (e.g. the largest mineshaft I've found in terms of size was size 363/length 3655 compared to a mineshaft of size 351/length 4035). Also added "nostructures" option which simulates "generated structures: off" for accurate results on such worlds (this allows additional caves to generate that would otherwise be excluded).
Nether gold ore now uses an overlay like other ores, making it easier to change the base texture (Netherrack) independently of the ore texture (Nether quartz is still vanilla as it is assumed that any resource packs will have changed it to match Netherrack).
As in the original suggestion for Autumnal Forest black bears, which are normally always hostile, will now become passive if fed meat (including fish), but will turn hostile again if attacked by a player.
Patches of sand/gravel and lakes now remove plants which would be left on invalid blocks, causing them to drop when randomly ticked (this is most noticeable when traveling fast enough, otherwise the dropped items may despawn); water lakes also extend the trunks of trees and huge mushrooms that were above them down to the ground.
Packed ice can now be obtained without Silk Touch; this change was in part made due to a request due to the issues of building in Icelands/Ice Plains Spikes/Ice Hills without enchanted tools. The hardness of opaque-packed-blue ice were also changed from 0.5-1.0-1.5 to 0.5-1.5-2.5 (vanilla 1.13 uses 0.5 for packed ice and 2.8 for blue ice). Blast resistance is now the same as hardness (was 1 for all types; biome stone variants are still 1.5 for both hardness and resistance).
Made some changes to world generation to accommodate Large Biomes better; the small "rivers" in Ice Hills and Swampland now use the same scale as Default (this change causes them to be in different locations in Default worlds but the effects are minor). Beach boulders are also reduced by 33% on land (2/3 chance per chunk) and 50% underwater (1 instead of 2 per chunk). Boulders and palm trees also have a 1/32 chance of generating in a chunk (in addition to 25% of 4x4 chunk regions).
Fixed buckets and other items targeting wrong block when sneaking (MC-1893), also affects height of fired arrows from bows.
Fixed mobs accumulating fall distance when bobbing on a leash (MC-14167); they will still take damage if they are dropped (e.g. player jumps down while leashed to a mob).
Redstone torches no longer randomly tick (fixes inconsistent behavior when burned out; added an 8 second delay before turning on again, similar to newer versions).
Fixed MC-30845 (non-collidable blocks like tall grass and kelp affecting 3rd person view as if they were solid).
FPS is now limited to 10 when the game is unfocused to help reduce resource usage when in the background, similar to how I previously limited FPS to 60 while paused (if it was higher and Vsync was disabled).
Sheep no longer affect blocks in the world when mobGriefing is disabled, but can still eat (MC-147444).
Added a dead tree model as a dead bush variant to flower pots (sneak-right-click to cycle through them).
Fixed ghast attack animation (MC-165038; they used to "swell" before firing, similar to creepers, not just change their texture, which was lost in singleplayer in 1.3 and never worked in multiplayer.
Added larger nether portals from 1.7 (2x3 to 21x21 blocks); nether portals can also no longer be made with variants of obsidian (existing portals will remain; this was never really an intended feature but a side-effect of reusing vanilla block IDs for new blocks with similar properties).
Added a work-around for "ghost" blocks (as e.g. sometimes occur when instant-mining blocks with fast tools); if the player collides with a block that they shouldn't have blocks surrounding the player will be resent to the client to force them to update; the player will also be pushed back slightly (not just reset to the last valid position server-side).
Here are screenshots and more descriptions of some of the new features:
A significant bugfix for 3rd person view; transparent blocks no longer block the camera, causing it to zoom in (as detailed in MC-30845):
Some of the many forms that fallen and dead trees, which can be found in most forested biomes (not every variant generates in every biome; some only have 1 block high stumps, or the dead oak-like variant which was previously added to Mesa and Volcanic Wasteland):
Also, dead bushes have a dead tree model in flower pots (right-click with an empty hand while sneaking to switch between the dead bush and dead tree models, as with other plants that have such models):
Did you know that Ghasts are supposed to "swell" before firing? This is a long-lost feature which was broken in singleplayer 1.3, and never worked in multiplayer (1.3 is when singleplayer was moved to a server-client model, leading to scores of bugs and broken features which had never been coded to work in multiplayer); Mojang also has no plans to ever reintroduce it (the fix was incredibly easy, just an extension of already existing code that changes their texture before firing to include a "swelling" flag):
Nether portals can now be made in any size from 2x3 to 21x21 (4x5 to 23x23 frame); I did remove the ability for amethyst blocks and other obsidian variants to make portals but this was never an intended feature, only a limitation of using vanilla blocks for new blocks with similar properties (I originally made amethyst blocks and ore variants of obsidian so you had to use a diamond pickaxe to mine it):
I made some changes to world generation to improve Large Biomes worlds; the small "rivers" in Ice Hills (in the center) and Swampland (the blue-green biome to the lower-right of center) (intended to make them more varied; the swamp rivers are a vanilla feature) now have the same size regardless of world type/biome size (you can see that this also affects Volcanic Wasteland (the pinkish biome near the right-center) and Rocky Mountains (the gray and white biome near the bottom), which I previously made like this). Note that default worlds are slightly different but this is unlikely to cause any noticeable effects unless such a biome is at the edge of generated chunks (the left side is before and the right is after):
This is an example of a seed which has additional large caves and/or ravines added because it didn't have enough within 1536 blocks of the origin, as indicated by the debug output at the top (I previously added code in TMCWv4 that ensures that there is always at least one colossal cave system and giant cave region). Also, as shown by the mineshaft results (the first and last 5 out of all results found are shown) they are now measured more accurately, using the total corridor length instead of the number of structure pieces ("size") as corridors are where their content is (chests, spawners, and rails. A single corridor piece is 5-20 blocks long, or 1-4 supports):
The chance of the largest variants of caves (types 3/4) were also increased from 1/6 to 1/5 so the volume distribution more closely matches that of ravines (up to the point where ravines approach their maximum volume):
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
You...... Fixed..... The..... Ghast..... Bug? YOU ARE AMAZING! Not even would do it!
I have a stupid suggestion, Have you considered upgrading the rendering code to use Streams? I know that java 8 is compatible with existing code.