1.12
1.11
1.10
1.9.4
1.7.10
Biomes
Realism
Curse
Forge
Open Source
Hello players,
this mod introduces real flowing rivers, with a true current, to Minecraft. These rivers are generated in the world using custom non-decaying flowing blocks and are much larger than anything the player could create using buckets. They originate in multiple sources and flow down the terrain through slopes and waterfalls, joining together into wider rivers until they reach the sea (or the old-style sea-level static rivers, if those exist in your world).
Keep in mind this is still an alpha release. Rivers are fairly short and don't always appear in ideal places, but this will improve in time. Please see the FAQ section below for explanations of various known issues, including tips on finding a river. Let me know of any other bugs you encounter or suggestions you may have.
Note: the vanilla Minecraft terrain generator has low average altitudes, which makes for rather flat rivers. For best results, consider using a custom terrain generator capable of higher average elevations, such as RTG (see Mod Compatibility, below).
Here's a sample picture from version 0.2, featuring the new underground river tunnels:
(Taken using 1.7.10-0.2 seed -7776677084945245050 at coordinates 350 83 265)
Here's a sample picture from versions 0.1.x which featured canyons instead of tunnels:
(Taken using 1.7.10-0.1.x seed -7106934795561659154 at coordinates -166 80 356)
And here's another picture from versions 0.1.x, with shaders. (To enable shaders with Streams blocks, read the FAQ below)
(Taken using 1.7.10-0.1.x seed 395372788128706985 at coordinates 428 66 166)
Here is a mod showcase by Lextube:
Also check out ThnxCya's Villager Boat Race Challenge!
(Note that both videos above were created in versions 0.1.x, and thus feature canyons instead of tunnels.)
Want to know more? You can find some insights about Streams in this mod review by TeronRedoran.
Installation
Streams/Farseek 1.12 for Minecraft 1.12/1.12.2
Streams/Farseek 1.7.10 for Minecraft 1.7.10
Mod Compatibility
Streams should be compatible out-of-the-box with most custom terrain generators. It was confirmed to work with these mods:
However Streams is currently not compatible with these mods:
Please let me know of your experiences with these or other terrain generators, so I can add them to the list if they work, or look into supporting them otherwise.
FAQ
My mods:
Thats the first few lines and the crash only occured after adding your mod to my pack.
When you post a mod: "No pics no clicks" and "MCreator = bad ~99% of the time"
Don't forget to read the crashlog before reporting the crash. It might tell you why it's crashing.
Sorry if my spelling is bad, I'm learning english...
My mod ideas: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/mods-discussion/2354659-medsal15s-mod-ideas-hub
Why do evil poeple always want to control the world?
If you need ideas, I may be able to give you some...
Warning status: Unbanned
at streams.block.BlockLiquidExtensions$.getFlowDirection(BlockLiquidExtensions.scala:17)
at streams.block.BlockLiquidExtensions.getFlowDirection(BlockLiquidExtensions.scala)
at net.minecraft.block.BlockLiquid.func_149802_a(BlockLiquid.java)
at weather2.client.entity.particle.EntityWaterfallFX.func_70071_h_(EntityWaterfallFX.java:136)
at net.minecraft.client.particle.EffectRenderer.func_78868_a(EffectRenderer.java:77)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2043)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:961)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
When you post a mod: "No pics no clicks" and "MCreator = bad ~99% of the time"
Don't forget to read the crashlog before reporting the crash. It might tell you why it's crashing.
Sorry if my spelling is bad, I'm learning english...
My mod ideas: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/mods-discussion/2354659-medsal15s-mod-ideas-hub
Why do evil poeple always want to control the world?
If you need ideas, I may be able to give you some...
Warning status: Unbanned
I never read everything... My 1st problem.
When you post a mod: "No pics no clicks" and "MCreator = bad ~99% of the time"
Don't forget to read the crashlog before reporting the crash. It might tell you why it's crashing.
Sorry if my spelling is bad, I'm learning english...
My mod ideas: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/mods-discussion/2354659-medsal15s-mod-ideas-hub
Why do evil poeple always want to control the world?
If you need ideas, I may be able to give you some...
Warning status: Unbanned
http://pastebin.com/D5fCJdac
Check out my art!!
http://blueeyes9.deviantart.com/
My mods:
These should fix all three crashes reported in the thread so far (two of them server-specific). If you still experience issues please let me know.
Here is the changelog entry:
0.1.1
My mods:
Snippet of crashlog:
[Client thread/INFO] [STDOUT/]: [net.minecraft.client.Minecraft:func_71377_b:349]: ---- Minecraft Crash Report ----
// On the bright side, I bought you a teddy bear!
Time: 2/2/15 1:06 AM
Description: Ticking entity
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at farseek.core.ReplacedMethod.apply(MethodReplacementTransformer.scala:114)
at streams.entity.item.EntityBoatExtensions$.handleWaterMovement(EntityBoatExtensions.scala:59)
at streams.entity.item.EntityBoatExtensions.handleWaterMovement(EntityBoatExtensions.scala)
at net.minecraft.client.entity.EntityPlayerSP.func_70072_I(EntityPlayerSP.java)
at net.minecraft.entity.Entity.func_70030_z(Entity.java:403)
at net.minecraft.entity.EntityLivingBase.func_70030_z(EntityLivingBase.java:193)
at net.minecraft.entity.Entity.func_70071_h_(Entity.java:318)
at net.minecraft.entity.EntityLivingBase.func_70071_h_(EntityLivingBase.java:1559)
at net.minecraft.entity.player.EntityPlayer.func_70071_h_(EntityPlayer.java:288)
at net.minecraft.client.entity.EntityPlayerSP.localOnUpdate(EntityPlayerSP.java)
at api.player.client.ClientPlayerAPI.onUpdate(ClientPlayerAPI.java:6312)
at api.player.client.ClientPlayerAPI.onUpdate(ClientPlayerAPI.java:6298)
at net.minecraft.client.entity.EntityPlayerSP.func_70071_h_(EntityPlayerSP.java)
at net.minecraft.client.entity.EntityClientPlayerMP.func_70071_h_(SourceFile:63)
at net.minecraft.world.World.func_72866_a(World.java:2070)
at net.minecraft.world.World.func_72870_g(World.java:2034)
at net.minecraft.world.World.func_72939_s(World.java:1887)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1995)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:962)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:887)
at net.minecraft.client.main.Main.main(SourceFile:148)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:286)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:376)
at org.multimc.EntryPoint.listen(EntryPoint.java:165)
at org.multimc.EntryPoint.main(EntryPoint.java:54)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at farseek.core.ReplacedMethod.apply(MethodReplacementTransformer.scala:114)
at streams.entity.item.EntityBoatExtensions$.handleWaterMovement(EntityBoatExtensions.scala:59)
at streams.entity.item.EntityBoatExtensions.handleWaterMovement(EntityBoatExtensions.scala)
at net.minecraft.entity.Entity.func_70072_I(Entity.java)
at net.minecraft.client.entity.EntityPlayerSP.localHandleWaterMovement(EntityPlayerSP.java)
at api.player.client.ClientPlayerAPI.handleWaterMovement(ClientPlayerAPI.java:5225)
at net.minecraft.client.entity.EntityPlayerSP.streams_core_StreamsClassTransformer_net_minecraft_entity_Entity_handleWaterMovement(EntityPlayerSP.java)
... 39 more
The entire crashlog is enormous, to be entirely honest. It looks like it -might- be a conflict between player API and Streams? Maybe?
A. Does it have a whitelist or blacklist by dimension ID? Does it hardcode dimension 0 only?
B. If it generates in other dimensions, then looking at both Mystcraft and RfTools:
1: How does it handle a world that has no river or ocean biomes?
2: How does it handle a world that is flat, with no height variation other than the occasional one-block dip in the ground? Consider that a world that is flat and Y=62 or higher will have no water, and Y=61 or lower will have only water on the surface.
3: How does it handle worlds that have areas open to the void?
4: Mystcraft "Cave worlds" are basically a nether stone noisemap, with normal biomes at the top (Y=128, flat), and a sea down at Y=32, like the nether. Will you generate flowing rivers in such a world, and if so, both where now (so do you generate if the ground is way up at 128), and will you have the ability to generate into the underground area in the future?
C. Do you plan to have improved compatibility with either RfTools or Mystcraft? For mystcraft, I know it's possible to have "Flowing Rivers" as a symbol for a controllable world feature; for RFTools, I suspect the same is possible (but don't know for sure). (I'm also not sure if it would make more sense to only use the world's sea block type, or if it would make more sense to take an explicit liquid type -- which would permit lava rivers in a world with a water sea, or visa-versa). (For that matter, are you only doing water and lava, or can you do any mod liquid?)
* 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?
It appears to work in the Nether (pre-release thread pictures: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/2213153-streams-real-flowing-rivers).
I just came back to mention the same thing though. I had a worldgen crash when I attempted to enter Eternal Frost... but the little update seemed to fix it. Even so, a dimension blacklist would be a really good idea.
PS: Hope we're not all adding too many items to your todo list!
Any chance you could implement an API so world generator modders can use your flowing water for their own rivers? Ted's RWG comes to mind.
EDIT: Also one thing to note - Mobs don't seem too smart about staying out of these rivers. As a result, if you post up near one for a few Minecraft days you'll eventually end up with 20+ mobs bobbing around where the stream terminates. Kind of a resource hog and definitely dangeous in Survival. Not sure there's much you can do about it, though.
* 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?
That's strange, it crashes in one of the functions I had fixed in the new version. Can you re-confirm that you were using the latest 0.1.1 release? Also were you running a client or server? And finally could you post the entire crash log on pastebin so I can investigate? Thanks.
Hello Keybounce, currently it generates in the overworld (dimension 0) only. As Rekonin pointed out I did have Nether lava rivers in the prototype but had to disable those in the first release due to bugs. I don't try to create generators for unknown dimensions and I'm not yet sure how that would be handled. The mod already tries to guess at certain things like sea level that don't have getters or even constants in vanilla Minecraft. (For sea level I use horizon level as a proxy, assuming that any mod that changes sea level will also change that so things look good. This has proved correct in the case of customizable sea levels in ATG for example.) But there will always be edge cases I cannot foresee, that would just cause crashes. I'm thinking of making an API that other mods could use to request a generator for their dimension, specifying their sea level, liquid type etc. The water blocks themselves could also be exposed, as DraxisWuf suggests, for modders wanting to make their own river algorithm. That's still a couple versions out however.
Thanks a lot for your video! I don't speak Italian but the tone sounded rather positive, so I guess you liked it. :-) I assume the darkened waterfalls were due to the shaders you were using - do those usually work with vanilla flowing water?
EDIT for tomberry87: actually, looking back at the video it seems that the dark waterfalls (which are standard vanilla flowing blocks) were actually displayed as the shader intended, and the custom flowing blocks are not handled by the shader. I wonder what it would take to make my blocks shader-compatible... sadly I know very little about rendering.
My mods:
Definitely was running the latest of both Farseek and Streams. Re-downloaded them and will boot up Minecraft again just to double check. Running on Client for now.
I'll end up having to upload the crashlog to Dropbox or something; it was actually too large to be posted on pastebin.
Edited in: Exact steps taken:
Single Player, New World, Creative, World appears to build fine, get in-game, MCA prompts for initial world creation, "Next" on Gender screen, "Next" on Name Screen, "Next" on Configuration Screen, "Finish", leads into a "Shutting down internal server" crash.
Also, the streams look amazing from the sky (minimap) view: https://imgur.com/a/U8zFq