Hi everyone!
This is a little mod I made that adds, well, just a few fish!
I got tired of there being no simple fish entities for the vanilla fish items, so I decided to make some myself. I know there are other mods out there that add fish mobs, but none of them did it quite the way I wanted (or had a zillion other mobs and other content in the mod too), so I decided to make this little fish mod that adds some simple fish entities.
There are four fish entities based on the fish items:
Cod:
Salmon:
Clownfish:
Pufferfish:
(Note the seaweed in the pictures above is from biomes o plenty, which I added just for decoration.)
Fish Tank (multi-block structure which fish will not despawn in):
Note to Optifine Users:
There is a bug with Optifine Ultra and Standard (I've tested with the latest versions), causing the fish to not move and to glitch out if you try pushing them if they are within 8 or so blocks from you.
In the 1.7 version I found a work-around (which can be disabled in the config file if it causes any problems).
In the 1.8 and 1.8.9 versions, set Smooth World to false, and it should work.
Videos:
By myself (Tmtravlr)
Crafting Recipes:
Here are all the major crafting recipes in the mod:
Iron Nugget (should be compatible with any other mod that uses iron nuggets)
Iron Fish Hook
Wooden Fishing Rod (different from the vanilla fishing rod)
Iron Fishing Rod
Gold Fishing Rod
Diamond Fishing Rod
Baiting a Fishing Rod (surround it with any type of seeds)
Fish Tank
Catching the fish:
All right, so you see some fish in your world... so what do you do with them now? Well, there are several things. The simplest is you can go and stab them with a sword to get the fish item directly. They aren't so easy to spot though, and they have small hitboxes (and drowning is always a thing), so it may be easier to fish them up with a fishing rod instead...
Note that the vanilla fishing rod won't work; it must be a fishing rod from this mod. If you try fishing normally with a vanilla fishing rod, you will get "fish bones" in place of any fish you would have caught (you can disable that in the config file).
There are four fishing rods: a wooden, gold, iron, and diamond one. They follow the other vanilla tool sets in terms of durability and enchantability. Simply throwing a fish hook near a fish isn't good enough though... you have to put bait on the rod, using seeds (crafting recipe above).
So cast your fishing rod, and wait for the fishies to come! You can also fish up the same treasure/junk as the vanilla fishing rod if the hook sits long enough without a fish biting. Also, a word of warning. If you pull on the fishing rod too much at once, it will break. So you must reel the fish in a bit at a time, instead of spamming it.
If you have a bucket of water in your hotbar when you catch the fish, the fish will go in the bucket. You can then release it, or place it in a fish tank (more info below). You can also rename the bucket containing the fish in an anvil to name the fish without having to use a nametag.
Breeding the fish:
So you want to make a fish farm, huh? Well why not?
If you want to make a fish farm, you should first make some fish tanks (recipe above). The fish despawn naturally unless they are inside of a fish tank, so that way you don't have to name every fish in your farm. =P
You breed the fish with seeds, but instead of clicking the fish with the seeds, you throw the actual seed items into the fish tanks, and the fish swim to them and eat them. So you could even make an auto-farm using dispensers with the seeds! =)
Natural Spawning:
The fish will spawn in several biomes:
Cod will spawn in every biome type.
Salmon will spawn in rivers, swamps, and oceans.
Pufferfish and Clownfish will only spawn in oceans.
Yes, you can use this in modpacks. Just link back to the minecraftforum or curse page!
Anyway, that's about it. Enjoy the fish!
Credits:
-Big thanks to EzerArch for the Portuguese translation files
-And also to Larsii30 for the German translation files
forge or fabric?
Yo is this compatible with biome bundle?
I'd like to use this mod in a video, is that possible?
dead mod
In reply to fishbatman10:
only because there are now already vanilla fish mobs
I really love the fish AI of this mod. And the models too.. Vanilla fish are just, yick. Please update it to 1.16.5!
Can you please port the fish tanks to 1.16.5? :(
Anyone know why the fish seem to be despawning in the tanks? I tried bucket fish and spawn egg fish. But every time I return they are gone. Are they dying? Anyone know?
In reply to xalkyrr:
musíš si je pojmenovat. jestli to jde
Is there any chance you would be interested in making a version with the tanks alone for future versions? There are no other mods that do this. And its a very handy thing.
In case anyone is interested, I have assembled a simple texturepack to change aquarium glass to clear glass and give it connected textures here: https://www.curseforge.com/minecraft/texture-packs/just-a-few-fish-better-glass
In reply to Aecht_Rob:
This is great thank you!
My fish keep dying in their tanks..
These fish moved and looked so much better than normal fish. Shame it's not in 1.16 or open source so someone else could carry it forward.
Ah well- I *really* like these fish in 1.12 settings.
since the mod might not be updated to newer versions, i'd love to see some of it's content in a mod called upgrade aquatic, like the fish tank and fish breeding that produces roe
Hey, any plan to update with new content//better compatibility?
love.
Thank you for this! Just what we needed.
:)
M
what is roasting enchant?
Crashes with quark. Hasn't been updated in years, and now its crashing on worldgen. Idk why you don't have a repo for this. It's very problematic.
heres the crash:
server:
---- Minecraft Crash Report ----
// I bet Cylons wouldn't have this problem.
Time: 2020-04-05 00:41:44 PDT
Description: Exception in server tick loop
java.lang.NullPointerException
at vazkii.quark.world.block.BlockRoots.nextState(BlockRoots.java:144)
at vazkii.quark.world.block.BlockRoots.growAndReturnLastPos(BlockRoots.java:93)
at vazkii.quark.world.block.BlockRoots.growMany(BlockRoots.java:80)
at vazkii.quark.world.world.CaveRootGenerator.generate(CaveRootGenerator.java:35)
at net.minecraftforge.fml.common.registry.GameRegistry.generateWorld(GameRegistry.java:167)
at net.minecraft.world.chunk.Chunk.populate(Chunk.java:1020)
at net.minecraft.world.chunk.Chunk.populate(Chunk.java:985)
at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:157)
at net.minecraft.world.World.getChunk(World.java:310)
at com.tmtravlr.jaff.JAFFEventHandler.getRandomSpawningPointInChunk(JAFFEventHandler.java:233)
at com.tmtravlr.jaff.JAFFEventHandler.trySpawningFish(JAFFEventHandler.java:111)
at com.tmtravlr.jaff.JAFFEventHandler.onWorldTick(JAFFEventHandler.java:73)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_2748_JAFFEventHandler_onWorldTick_WorldTickEvent.invoke(.dynamic)
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90)
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182)
at net.minecraftforge.fml.common.FMLCommonHandler.onPreWorldTick(FMLCommonHandler.java:287)
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:752)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:185)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
at java.lang.Thread.run(Unknown Source)
client:
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at net.minecraft.util.Util.runTask(SourceFile:531)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1088)
at net.minecraft.client.Minecraft.run(Minecraft.java:3942)
at net.minecraft.client.main.Main.main(SourceFile:123)
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:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.NullPointerException
at cofh.thermalexpansion.plugins.jei.machine.enchanter.EnchanterRecipeCategory.refresh(EnchanterRecipeCategory.java:78)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at net.minecraft.util.Util.runTask(SourceFile:529)
... 17 more