Getting a config file to accept "this is the ground level in this dimension" is one thing.
Getting something that would refill rivers to 62, but the ocean to 51, is impossible. Worse, rivers will drain into that ocean when they reach it.
===
Porting to 1.11.2? You might as well rewrite 80% of it.
At that point, the recommendation is to switch to Forge's finite fluid blocks, with a new block class that mimics vanilla's "0 = full" rather than forge's "7 = full" system.
It won't be as accurate (only tracking 8 states per block instead of many thousands), but it will be faster and more portable/maintainable.
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
The Meaning of Life, the Universe, and Everything.
Join Date:
12/17/2011
Posts:
264
Minecraft:
SilverDarkBlade
Xbox:
SilverDarkBlade
PSN:
N/A
Member Details
i posed on curse about this but il also ask here. Where would i find the most recent/stable version of this mod? and if possible how would i go about adding modded liquid?
i posed on curse about this but il also ask here. Where would i find the most recent/stable version of this mod? and if possible how would i go about adding modded liquid?
If you want to work with anything other than 1.7.10, water and lava, you will need to grab 4Head's version off ... I think he's on bitbucket, and play with that.
My version (available on github, or earlier in this thread, or on curse) will work. Performance in SMP will be ... well, if you have a high speed connection, you're fine. It generates too many block updates -- one of the things that 4Head's new version cuts down on.
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
If you want to work with anything other than 1.7.10, water and lava, you will need to grab 4Head's version off ... I think he's on bitbucket, and play with that.
My version (available on github, or earlier in this thread, or on curse) will work. Performance in SMP will be ... well, if you have a high speed connection, you're fine. It generates too many block updates -- one of the things that 4Head's new version cuts down on.
Thanks for the response. The version i am wanting to use is 1.7.10 on Exclusively Singleplayer and possibly LAN but probably not. And i just assumed all versions were for 1.7.10. Tiger's bitbucket downloads page is empty so im too sure if there are any new ones besides yours. (here is where i think i found his bitbucket page for rfo but the download has no working versions in jar form, and never dealing in java my self im not sure how you would turn what he has there into a working jar https://bitbucket.org/4HeadTiger/minecraft-finite-fluids-v2.0/src )
Always possible i missed something though. Also semi off topic, Does the water in this mod work with Sildur's Shaders or SEUS?
Water in this mod is still block's 8 and 9. They get used a little differently than vanilla's use of 8 and 9. But they will still have the same block id number, and will render just fine in a shader.
If you are talking single player, then the large block updates won't be a big issue. I don't think I ever pushed a release with a fix for the ordering problem (blocks that are not taken care of on one update are supposed to be first priority for the next update; instead, the same blocks get updated again, and the skipped blocks stay skipped), and I know the speed of updates is off (both water and lava spread too quickly; lava especially.) And as much as the flowing lava makes the nether more interesting, I think it critically breaks things about the nether.
... meanwhile, have I been busy all week making paper clips?
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
How much more CPU/RAM would be used if you were able to add air pressure for equalization? Say you'd have a sealed emergency air pocket in a cave that won't fill up since there's nowhere for the air to escape, but if a cave has an opening to the world, the water could rise.
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
So, I came across my source code to RFO2 and decided to take a whack at it again. It compiles cleanly, and works both SMP and SSP.
Notable changes:
Multithreading no longer dies on a NPE or deadlocks, I'm running it on a server with 8 worker threads.
Processing calls are no longer recursive, using a trampoline of sorts instead. This decreases the stack memory used considerably.
Custom packet for sending the block updates. This avoids lighting recalculation, and requires 2 bytes per block. (plus about 40 bytes overhead for lots of water, 10 bytes overhead otherwise).
Near/Far updates are no longer processed separately, all loaded chunks get processed in a deque (far stuff still exists in settings, but is unused).
Near block distance now determines which chunks are sent to the players, a per-player setting would be better, but more difficult to do.
I think I could shrink the bytes per block down to 1, but I'm not sure if it would be worth the extra complexity (having to sort the block updates by Y-level).
There are a few remaining issues I'll work on when time allows.
First, the water levels are saved to NBT, but don't quite seem right, since sometimes I get the coast-flooding bug Keybounce mentioned. I need to dig into that, I've not even looked at it yet.
Second, rain raises water levels but I've not implemented evaporation yet. My plan is to have any water block less than half full evaporate over time.
Third, client updates outside the 'near' range get forgotten. When the client approaches the chunks in question, they water levels can be out of date. This is mitigated by setting the near distance to match the client-side render distance, but that's not ideal for a mixed LAN/Internet server.
I was never able to figure out how to save the water-level data table. I'm keeping the blocks as 8-11, so that it can either be added to an existing world, or removed with minimal damage. So there is no NBT data associated with the blocks in the world.
Rain and water level: Yea, I tried that. Mine works. But it works too well -- although I try to limit rainfall to "what it would take to fill the sea level block in question", it still goes overfull.
The block updates to the client ... yea, that is a big killer. It's why I say that mine work works well enough in single player and is not recommended for servers. I don't know how to do custom update packets.
My plan (and probably starting next weekend) is to convert to forge fluids, and just have 8 states per block instead of thousands. But for normal vanilla-driven block updates, there is currently a hard-coded limit of 1000 updates per tick that needs to be raised up. It's a two-byte patch (a java instruction to load a constant, just change the constant.)
Which means I need to learn ASM :-).
(patching two bytes used to be so simple in the days when you just pointed a disk editor at the block of the disk the file was stored on.)
I was wondering.. what about limiting the mod outside the oceans making a check for the biome, and also using some "if" function to act only over sea level in ocean biomes?
So basically it will work on any water (lake, rivers, artificial pools...) except the oceans, this would improve performance
First problem is that ocean and river *biomes* do not go to the shore. So you would wind up draining the area near the beach into an underground cave, but having a big wall-o-water in the oceans that are not flowing into the hole by the beach.
That ... actually, that would probably be sufficient.
Heck ... disabling the flow in ocean biomes would solve the problem of ChromaticCraft compatibility.
So here's a question. Lets say you are in a cave under the ocean. Place a bucket of water on the floor -- what happens?
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
You should add water pressure like it can break blocks and hurt the player if you're too deep like in real life. the deeper you go the more it hurts and the more it destroys blocks. it will only destroy blocks if there is air inside them like if you build a house under the water it will slowly break the blocks.
the blocks would slowly be destroyed as if you were mining it.
You should add water pressure like it can break blocks and hurt the player if you're too deep like in real life. the deeper you go the more it hurts and the more it destroys blocks. it will only destroy blocks if there is air inside them like if you build a house under the water it will slowly break the blocks.
the blocks would slowly be destroyed as if you were mining it.
just an idea
Honestly I dont know if thats such a good idea because then things could get out of hand in certain occasions. Would add to realism though, but how would the game determine the difference between house block and ground block. If it went off of whitelist for non-destruction that could be exploited for a house. But, some people would still wanna build those glass domes underwater for housing. If this were added, something should be in there to allow for deep exploration.
How would one go about forcing modded liquids to behave like this? i have terrafirmacraft and minetweaker (to fix antiqueatlas), i did coding in college BUT i dont have the foggiest what all this jargon is i used visual basic back in school ;). is there something i can edit in notepad to do that or is it more involved? do i add a new class in the jar file? like how does any of this work. pls halp.
I know this thread is dead, but is there a possibility that this mod will appear on curse forge?
I bet noone will reply . - .
i can only say there are a lot of issues when adding such mechanics to such a game as MC. it is easier with a fixed (small) world size which grants the ways of calculating the water beforehand on worldgen, so there's no heavy floods etc. occur.
as an example:
Dwarf Fortress does so and it works fine, but DF works a lot different than MC.
in DF a world is generated completely.
then the player can select a place to build and only that area is actually actively calculated.
everything that happens outside of this area is rather abstract like "population growth makes a site grow" doesn't mean you could go to that site in adventure mode and stay and watch the site grow, but rather that when you visit next time, it will have changed.
regarding something like water calculation and flooding a valley by building a dam... that's rather not going to happen in DF...
i still hope that this mod somehow gets ported to the latest stable release someday.
Any updates or breakthroughs such as ports to later versions? A nice feature would be localized pressure so that water in a U bend or cave could rise up above the "entry" block level only if there's a way for air to escape, or breaking a block in a cave next to a deep lake of water would make it gush in very fast.
My god porting this to 1.12 is becoming an actual nightmare. The block registry system is out of whack, we have json based metadata (why), and now render states are json (WHY!!!), so trying to figure out porting FluidRenderer is going to make me go crazy
Possible to port to 1.11.2?
2 Year Anniversary of this Account
Dinothaur Thaming anpth Maur
Dinosaurs, Giraffes, and More!
Model Page: https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-mods/mods-discussion/2902056-raptors-models-page
http://minecraft-mod-installer.weebly.com/
Getting a config file to accept "this is the ground level in this dimension" is one thing.
Getting something that would refill rivers to 62, but the ocean to 51, is impossible. Worse, rivers will drain into that ocean when they reach it.
===
Porting to 1.11.2? You might as well rewrite 80% of it.
At that point, the recommendation is to switch to Forge's finite fluid blocks, with a new block class that mimics vanilla's "0 = full" rather than forge's "7 = full" system.
It won't be as accurate (only tracking 8 states per block instead of many thousands), but it will be faster and more portable/maintainable.
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
i posed on curse about this but il also ask here. Where would i find the most recent/stable version of this mod? and if possible how would i go about adding modded liquid?
so with MCF going to twitch, i won't be able to write here anymore. so good luck with everything.
If you want to work with anything other than 1.7.10, water and lava, you will need to grab 4Head's version off ... I think he's on bitbucket, and play with that.
My version (available on github, or earlier in this thread, or on curse) will work. Performance in SMP will be ... well, if you have a high speed connection, you're fine. It generates too many block updates -- one of the things that 4Head's new version cuts down on.
(I really need to sit down and update this ...)
https://minecraft.curseforge.com/projects/realistic-fluids-overhaul-compatibility-and
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Thanks for the response. The version i am wanting to use is 1.7.10 on Exclusively Singleplayer and possibly LAN but probably not. And i just assumed all versions were for 1.7.10. Tiger's bitbucket downloads page is empty so im too sure if there are any new ones besides yours. (here is where i think i found his bitbucket page for rfo but the download has no working versions in jar form, and never dealing in java my self im not sure how you would turn what he has there into a working jar https://bitbucket.org/4HeadTiger/minecraft-finite-fluids-v2.0/src )
Always possible i missed something though. Also semi off topic, Does the water in this mod work with Sildur's Shaders or SEUS?
Water in this mod is still block's 8 and 9. They get used a little differently than vanilla's use of 8 and 9. But they will still have the same block id number, and will render just fine in a shader.
If you are talking single player, then the large block updates won't be a big issue. I don't think I ever pushed a release with a fix for the ordering problem (blocks that are not taken care of on one update are supposed to be first priority for the next update; instead, the same blocks get updated again, and the skipped blocks stay skipped), and I know the speed of updates is off (both water and lava spread too quickly; lava especially.) And as much as the flowing lava makes the nether more interesting, I think it critically breaks things about the nether.
... meanwhile, have I been busy all week making paper clips?
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
How much more CPU/RAM would be used if you were able to add air pressure for equalization? Say you'd have a sealed emergency air pocket in a cave that won't fill up since there's nowhere for the air to escape, but if a cave has an opening to the world, the water could rise.
Is the mod dead?
It's "resting". :-).
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
So, I came across my source code to RFO2 and decided to take a whack at it again. It compiles cleanly, and works both SMP and SSP.
Notable changes:
Multithreading no longer dies on a NPE or deadlocks, I'm running it on a server with 8 worker threads.
Processing calls are no longer recursive, using a trampoline of sorts instead. This decreases the stack memory used considerably.
Custom packet for sending the block updates. This avoids lighting recalculation, and requires 2 bytes per block. (plus about 40 bytes overhead for lots of water, 10 bytes overhead otherwise).
Near/Far updates are no longer processed separately, all loaded chunks get processed in a deque (far stuff still exists in settings, but is unused).
Near block distance now determines which chunks are sent to the players, a per-player setting would be better, but more difficult to do.
I think I could shrink the bytes per block down to 1, but I'm not sure if it would be worth the extra complexity (having to sort the block updates by Y-level).
There are a few remaining issues I'll work on when time allows.
First, the water levels are saved to NBT, but don't quite seem right, since sometimes I get the coast-flooding bug Keybounce mentioned. I need to dig into that, I've not even looked at it yet.
Second, rain raises water levels but I've not implemented evaporation yet. My plan is to have any water block less than half full evaporate over time.
Third, client updates outside the 'near' range get forgotten. When the client approaches the chunks in question, they water levels can be out of date. This is mitigated by setting the near distance to match the client-side render distance, but that's not ideal for a mixed LAN/Internet server.
Anyway, download is available at https://lp-programming.com/RFO.jar
I'll probably toss the source code up on github here at some point.
I was never able to figure out how to save the water-level data table. I'm keeping the blocks as 8-11, so that it can either be added to an existing world, or removed with minimal damage. So there is no NBT data associated with the blocks in the world.
Rain and water level: Yea, I tried that. Mine works. But it works too well -- although I try to limit rainfall to "what it would take to fill the sea level block in question", it still goes overfull.
The block updates to the client ... yea, that is a big killer. It's why I say that mine work works well enough in single player and is not recommended for servers. I don't know how to do custom update packets.
My plan (and probably starting next weekend) is to convert to forge fluids, and just have 8 states per block instead of thousands. But for normal vanilla-driven block updates, there is currently a hard-coded limit of 1000 updates per tick that needs to be raised up. It's a two-byte patch (a java instruction to load a constant, just change the constant.)
Which means I need to learn ASM :-).
(patching two bytes used to be so simple in the days when you just pointed a disk editor at the block of the disk the file was stored on.)
First problem is that ocean and river *biomes* do not go to the shore. So you would wind up draining the area near the beach into an underground cave, but having a big wall-o-water in the oceans that are not flowing into the hole by the beach.
That ... actually, that would probably be sufficient.
Heck ... disabling the flow in ocean biomes would solve the problem of ChromaticCraft compatibility.
So here's a question. Lets say you are in a cave under the ocean. Place a bucket of water on the floor -- what happens?
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
You should add water pressure like it can break blocks and hurt the player if you're too deep like in real life. the deeper you go the more it hurts and the more it destroys blocks. it will only destroy blocks if there is air inside them like if you build a house under the water it will slowly break the blocks.
the blocks would slowly be destroyed as if you were mining it.
just an idea
Honestly I dont know if thats such a good idea because then things could get out of hand in certain occasions. Would add to realism though, but how would the game determine the difference between house block and ground block. If it went off of whitelist for non-destruction that could be exploited for a house. But, some people would still wanna build those glass domes underwater for housing. If this were added, something should be in there to allow for deep exploration.
How would one go about forcing modded liquids to behave like this? i have terrafirmacraft and minetweaker (to fix antiqueatlas), i did coding in college BUT i dont have the foggiest what all this jargon is i used visual basic back in school ;). is there something i can edit in notepad to do that or is it more involved? do i add a new class in the jar file? like how does any of this work. pls halp.
I know this thread is dead, but is there a possibility that this mod will appear on curse forge?
I bet noone will reply . - .
i can only say there are a lot of issues when adding such mechanics to such a game as MC. it is easier with a fixed (small) world size which grants the ways of calculating the water beforehand on worldgen, so there's no heavy floods etc. occur.
as an example:
Dwarf Fortress does so and it works fine, but DF works a lot different than MC.
in DF a world is generated completely.
then the player can select a place to build and only that area is actually actively calculated.
everything that happens outside of this area is rather abstract like "population growth makes a site grow" doesn't mean you could go to that site in adventure mode and stay and watch the site grow, but rather that when you visit next time, it will have changed.
regarding something like water calculation and flooding a valley by building a dam... that's rather not going to happen in DF...
i still hope that this mod somehow gets ported to the latest stable release someday.
I've seen this concept been made in a realistic kind of mod. The mod is called ex petrum. It uses this concept and the author makes his/her own kind of water that is effected by these kinds of physics. Here's a link to the mod https://minecraft.curseforge.com/projects/expetrum?gameCategorySlug=mc-mods&projectID=299480
Any updates or breakthroughs such as ports to later versions? A nice feature would be localized pressure so that water in a U bend or cave could rise up above the "entry" block level only if there's a way for air to escape, or breaking a block in a cave next to a deep lake of water would make it gush in very fast.
My god porting this to 1.12 is becoming an actual nightmare. The block registry system is out of whack, we have json based metadata (why), and now render states are json (WHY!!!), so trying to figure out porting FluidRenderer is going to make me go crazy