Been a while, hasn't it?
Over the past few months I've decided to take a step back adding new entities, and I went over the entire mod looking for ways to improve the very basics of the code while learning more about coding. This was my first mod after all. While I have added several major features, much of the work went into streamlining my development process by simplifying my code and making it a little easier to read (I removed a LOT of boiler plates). The file size without all the new features should technically be smaller. But all that is generally unnoticeable unless you're developing on my code. So I'll get into all the noteworthy changes now.
Procedural Variants!
I've been meaning to add this to the mod ever since I was inspired by the angling mod which have so far taken form as just simple enum variants. I've now added my own modified version of it that uses a base texture overlayed with a pattern texture, and finally a third overlay of a detail texture. Each texture gets its own color and just like the simple variants previously they are all inherited through offspring (with a small mutation chance of course). Entities that previously had variants (except Archerfish, I have plans for its variants) now implement this and some such as the Rainbowfish now gain procedural variants.
Replaced vanilla entities
I've done two versions of this, one with the Squid and the other with the Tropical Fish.
-
Squid
The squid's model and texture has been replaced with a geckolib model. It looks more realistic and based on a few real squid species. The animation looks a little wonky at the moment for reasons I don't understand yet. -
Tropical Fish
Tropical Fish have not had their models or textures replaced, the original mob has had their natural spawns removed (except for their lush caves spawns as an easter egg and if you still want them) and in their place are 8 new fish mobs as follows:
- Butterflyfish
- Clownfish (these were in the previous version but now function as complete replacements)
- Dottyback
- Goatfish
- Marine Angelfish
- Parrotfish
- Tang
- Triggerfish
Mobs with eggs or "Gravid" mobs
Mobs based on animals that carry their eggs with them after fertilization such as Mud Crabs, Crayfish and Auratus cichlids will carry the HasEgg nbt with them instead of laying eggs after breeding, which is noticeable by the particles coming off of them. After a set timer, the "eggs" will hatch and their larva/fry will spawn from their parent. In addition to the 3 mentioned above I've added Platies to the mod as well (they are procedural just so you know).
Nitrogen System!
In place of the real world nitrogen system is a simplified nitrogen level value given to each mob as well as vanilla fish entities (as long as they are classified as a FishEntity they will have this). Every 4 seconds their individual nitrogen levels will increase and decrease by a set amount. In addition to this, any mob increasing their nitrogen level will increase the levels of nearby mobs within the same water body at a certain range by half of their individual increases. Mobs will start taking damage above a threshold. To help combat this, you might use aquatic plants such as Kelp and Pothos (there are others, in fact all of them do) to reduce nitrogen levels. You can also keep track of nitrogen levels using the new Nitrogen Detector block, which you can use to track N levels. This whole system uses fluid-fill algorithms to detect whether entities are within the same water body, and may get fps drops once you reach 200 or so entities depending on your hardware. Mobs without the influence of other mobs will always decrease faster than they increase nitrogen.
Tweaked AI and entity specific behavior
The AI of entities in general have been changed to be more realistic, and many mobs now have certain behavior that they'd normally do in real life such as Angelfish staying still among plants, Parrotfish eating coral or Archerfish spitting in groups.
New plants and plant fixes
- Pothos and their gangly roots now grow along swamps and jungles.
- Lily Pads grow stems downwards (their generation is a little slow).
- Monte Carlo now spread using Bone Meal and onto surfaces.
- Amazon Swords have growth stages.
Recipe fixes
Recipes for mod items now get added to your recipe book when an associated item enters your inventory. Changed the recipes of some items.
Minor changes
- Culture Feed blocks now spread vertically onto Moss Blocks
- Changed the textures and models of some entities to make them look nicer
- Changed mod icon
- Milkfish can be fished up in their respective biomes
- Updated to 1.20.1
- Minor bug fixes and performance improvements
Archerfish Gun
Archerfish Gun
Added two new fish
- Red Tail Catfish
- Betta with Variants and life cycle
All variant holders have a secret rare variant that can spawn with 1/600 chance or be bred with 1/1200 chance of appearing.
New behavior changes, all modded aquatic mobs now attack mobs smaller than them, including their fry and eggs. There are some exceptions such as cichlids and Betta. Betta fish will for example attack other betta fish.
Archerfish now have a special water attack that attacks all overworld arthropods, guardians, drowned and the wither. They also will attack in groups when provoked.
Red Tail Catfish will also attack guardians and drowned.
New block that spawns underwater in Jungle Basins called Culture Feed that can only be obtained by buckets. Can be smelted in furnaces to make Dried Culture Feed. Feeding this to recently bred fish reduces their remaining cooldown time by 10%.
All 4 major bugs (i.e. fast flopping, variants not saving, larva not growing and wrong bucketables) have been fixed in addition to a few minor bug fixes.
Changed Icon
Added several new mobs
- Amur Carp and life cycle
- Crayfish and life cycle
- Archerfish life cycle
- Volcano Snail
New custom sounds for certain blocks and entities
Buckets now display tooltips for Variants
Variant fish from breeding (e.g. Angelfish) now have a 12.5% chance of being having a random variant instead of just being the Wild variant. (Does not have inheritance yet)
New biome called Jungle Basin (and Terrablender dependency)
Fanwort texture change
Added new blocks
- Powered Prismarine is made of a Sea Lantern surrounded by 4 of both redstone and prismarine crystals and has toggleable light when powered
- Mulm is found in Jungle Basins and adds large amounts to composters
- Sponges are now craftable by surrounding a Block of Tube Coral with 4 of both corn and seagrass
Archerfish no longer look at Spiders
Volcano Snails can be bred with stone and drop raw iron
Lion's Mane Jellyfish now inflict Poison II for 3 seconds on contact and deal 1 hitpoint of damage
Added 3 new plants
- Vallisneria
- Monte Carlo
- Amazon Sword
Aquarist Huts now generate again
and several minor bug patches and features
Fixed Sea Anemone generation, added Oscars, and Corydoras with respective life stages.
Only the wild variant of Angelfish can spawn naturally.
Added a new villager type only seen in Aquarist Hut structures or giving a hopper to an unemployed villager as a job block. Also added fish to the previously empty aquarium. Changed the interior of the aquarist hut.
Reduced the sizes of:
-Angelfish and Fry
-Neon Tetra and Fry
-Milkfish Fry
-Mud Crab and Larva
-Clownfish Fry
-Archerfish