Coming sooner or later: Avidavi's Complexly Horses! Please, call me Avii!
Background and OverView
I want to make a dedicated horse mod that is hopefully aesthetically pleasing, practical, and challenging. I don't believe in hand-out mods that simply make things easy, because nothing in the vanilla game is obtained easily (besides dirt). Everything has a cost in the original game, so I wanted to emulate that and still make a mod that was appealing to the masses. Best case scenario, this mod serves to inspire Jeb and the mojang team to implement horses or stands as a base for even better ideas. Next best case scenario, this mod is used by you guys!
Here's to dreaming!
Simply Horses opens the player to a new mode of play, both advantageous and detrimental. With this mod, one can catch his own horse, break it, and use it in one of three ways- to race around the world and push the borders of their domain, to trample over enemies, or to make day-to-day work and travel a bit more doable. There are also new tools to help you, from simple storage carts to homely wagons.
Content - About the Horses, Items, Carts and FarmTools Screenshot texturepack: My favorite 16x16- Jolicraft!
(Sower and Reaper Coming Soon!)
Gameplay Instructions (For Current Release)
Creating Draught Teams
Screenshot texturepack: My favorite 16x16- Jolicraft!
1.5.1 Current Version Info - Version Alpha 0.6.1 Download (SSP/LAN/SMP 1.4.7)! This version Requires Forge Universal 7.7.X! SparrowAPI is currently included in my download, you don't need to do anything with it!
1.5.2 Current Version Info - Version Alpha 0.6.1 Download (SSP/LAN/SMP 1.5.1)! This version Requires Forge Universal 7.8.0.684 (at least)! SparrowAPI is currently included in my download, you don't need to do anything with it!
You must have MCPatcher or Preferrably Optifine installed to view the extra Randomobs textures.Random textures are handled in-game now.
DELETE YOUR OLD COPY OF SIMPLY HORSES FROM THE FORGE "Mods"; FOLDER.Please remember this mod is still a WIP and is being released as-is in order to bug test. Unexpected results may occur. This is not the finished product, so please hold your opinions (and remember this fact when forming them). I do want to hear suggestions and of course bug experiences though, so please don't hesitate to post them. I want this mod to not only showcase my vision but also to entertain those who download it.
Special note for ALL downloaders of this version: This new update contains primarily bugfixes and edits to existing mechanics! Like always, please do not form any concrete opinions on how the mod is currently; it is, after all, a work in progress, and your ideas on how it can be improved are always welcome and can only benefit the mod and its community. Please be sure to leave your questions, comments, concerns, and of course BUG REPORTS.
Special note for downloaders willing or wanting to bugtest: Thanks for your help! This new version adds bugfixes as well as edits to old content. While I don't expect any big bugs, if you find any please report them! By all means look into anything else that catches your eye. Per usual, if something seems off in general, or you have ideas on how to fix or improve any bit of this new release, let me know! Again, thanks for helping me develop this mod ^^.
-Avii
Changelist
New Content
- Added spawn eggs. The Wild Horse egg will only spawn herds and only when the nearest herd is about 50 blocks away. Mustangs still need the bridle item.
Config Stuff
- Added grass block id config
Bug Squashing
- Fixed trains moving really fast even on the lowest speed
- Fixed lasso appearing in wrong place on horses and vehicles
- Fixed another crash on load due to lassos
- Fixed issue with prairie grass growth metadata
- Fixed wild foals not being born. Wild Horses accidentally had a 1-in-9,000,000 chance of mating... Go figure.
- Fixed foals not being able to move toward mom when mom was standing still.
- Fixed tame foals not being lassoable.
- Fixed horse head angles after spawning whippletrees
- Fixed horses being unable to climb one block and vehicles clipping when doing the same
- Temporary fix for another crash dealing with players attacking the horse they're riding with custom mod weapons
- Temporary fix for Random Mobs textures. Horse textures are chosen at random, but are the same between server and client. Mustangs inherit their texture from Wild Horses once tamed.
Edits
- Tweaked - Raised gallop speed of ridden horses
- Tweaked - Train-making system to be less complex. Please read the OP!
Known Bugs and Potential Bugs to Watch For
Known Bugs
SMP play is still a huge test right now. Riding horses on a bad connection will lead to lag and very jumpy movements.
Players can be booted off of vehicles after travelling far enough
Potential Bugs that I Can't Replicate
Vardos can disconnect from the rest of the train after being slept in.
Horses, when used in TerraFirmaCraft worlds, don't breed properly.
Vehicles not being able to be moved even with the proper number of horses on the team
Wild Horses can be found smoking as if caught already.
Suggestions and Ideas That Are Not Yet Implemented
DELETE YOUR OLD COPY OF SIMPLY HORSES FROM THE FORGE "Mods"; FOLDER.To install Simply Horses on a PC:
Video Tutorial - Thanks NewMotion! ]
Install Forge Universal if not already installed.
Make sure you've deleted the META-INF folder.
Run Forge once so that it installs. You'll know it has worked if the Mods folder shows up.
Run Minecraft, close Minecraft.
There should now be a "Mods" folder in your .Minecraft
Drop the SimplyHorses.zip file into the Mods folder.
Run Minecraft.
To Install Simply Horses on a Mac (I think. Halp, gaiz?):
Install Forge Universal.
Make sure (again) that you've deleted your META_INF folder from the minecraft.jar
Install Simply Horses by doing the same.
If you have issues with SparrowAPI.class or SimplyID.class, move both files into minecraft.jar
Not Sure About Linux Yet. Sorry.
Support! Banners etc~!
By BryGuy (Thanks so much ^^!)
By MUSHROOMSOCK (Thank you too ^^)
Randomobs Texturepacks!
The pathnames are outdated.. you'll have to work a bit of magic, here. Senyazza's horse textures are included in the regular download ^^. You must have MCPatcher or Optifine installed to view the extra textures.
So cool! I thought oh just another mod that adds ina mob for better transportation then I read the post and I have but one thing to say: You had me at wagons.
Thanks guys. I would have been further along but the 1.2 update completely switched the AI game on me, so I'm going back to fix it all. I was about to move on to the horse breeds |D.
The main thing I'm worried about is the wagon and vardo, though. But I'll have my dad to help me with that (Senior Programmer w00t w00t!)
Thanks guys. I would have been further along but the 1.2 update completely switched the AI game on me, so I'm going back to fix it all. I was about to move on to the horse breeds |D.
The main thing I'm worried about is the wagon and vardo, though. But I'll have my dad to help me with that (Senior Programmer w00t w00t!)
I like the new AI update :P. Btw, when did you start working on this ?
Oh, don't get me wrong- the "new" AI system ain't half-bad! It's just been a bit of a hassle to perfectly convert my old stuff over. And... oh geez. When did I start working on this? The going's been slow (due to noobiness and college work), so I guess about a couple weeks ago, maybe three. But recently, I've been able to code at least one new function every couple of days.
I would very-much love to have this complete within the next two months (For the stand-alone SSP version). Based on my current speed at finishing bits of code, that seems reasonable, if a bit generous.
I love the mod but just a suggestion maybe you could have a carriage? or a wagon train? It would be nice for smp and I have been looking for pretty much this exact mod for a while. Also as you can probably guess with the double post I am watching this topic because I am looking forward to it so much.
If by "wagon train" You mean being able to pull several carts one behind the other...
Yes! You will be able to organize wagon trains with this mod- its already been planned out! But there will be a limit on the load a single horse can pull (for instance, two horses together will not be able to pull ten wagons, but they may be able to pull two. I'm not sure on the balance yet.).
This is all assuming the coding will work =P.
As for carriages? I think the vardo covers that somewhat, but all cart/wagon/vardo teams must be lead by you in front of the horses (Guiding them along on horseback or otherwise). I'll look into adding a fourth vehicle that allows at least one passenger, though. ^^
And if someone reading this topic knows how to assign multiple riders to a single entity and would like to mentor/teach me how (teaching, not coding), please contact me!
Also on a side note: Totally looking into possibly adding stables to NPC villages!
The Wild Mustang is nearly 100% coded!
Herd Dynamics - Complete
Herds spawn in groups of up to 10, with one stallion. The 'mares' follow him!
Stallion move far distances in the day, notsomuch at night (Original Code by OgreSean)
Stallions attack each other. Winner takes all the mares! (Loser becomes a mare)
Breaking Behavior - Complete (entity-wise)
Lasso'd mustangs will emit smoke every few seconds.
Lasso'd mustangs follow you so long as you're holding the lasso (do NOT change items!)
After two days, lasso'd mustangs become tame
Lasso'd mustangs emit hearts upon taming
Player Behavior - In Progress
If close enough, Wild Mustangs will run from the player unless he is sneaking (in progress)
if even closer, Wild Mustangs will run from the player period. (not started)
General Horse behavior is nearly 100% coded!
Horses graze (... even if moving. Still trying to fix that, silly ponies)
Horses follow you if lasso'd (and ram into you >.>)
Horses follow whatever living entity you tell them to follow.
Except if you tell them to follow themselves. Then they just look at you judgmentally.
Lasso is partially coded!
Will catch horses and make them follow you.
Will tie caught horses to other horses and entities.
If by "wagon train" You mean being able to pull several carts one behind the other...
Yes! You will be able to organize wagon trains with this mod- its already been planned out! But there will be a limit on the load a single horse can pull (for instance, two horses together will not be able to pull ten wagons, but they may be able to pull two. I'm not sure on the balance yet.).
This is all assuming the coding will work =P.
As for carriages? I think the vardo covers that somewhat, but all cart/wagon/vardo teams must be lead by you in front of the horses (Guiding them along on horseback or otherwise). I'll look into adding a fourth vehicle that allows at least one passenger, though. ^^
And if someone reading this topic knows how to assign multiple riders to a single entity and would like to mentor/teach me how (teaching, not coding), please contact me!
Also on a side note: Totally looking into possibly adding stables to NPC villages!
The Wild Mustang is nearly 100% coded!
Herd Dynamics - Complete
Herds spawn in groups of up to 10, with one stallion. The 'mares' follow him!
Stallion move far distances in the day, notsomuch at night (Original Code by OgreSean)
Stallions attack each other. Winner takes all the mares! (Loser becomes a mare)
Breaking Behavior - Complete (entity-wise)
Lasso'd mustangs will emit smoke every few seconds.
Lasso'd mustangs follow you so long as you're holding the lasso (do NOT change items!)
After two days, lasso'd mustangs become tame
Lasso'd mustangs emit hearts upon taming
Player Behavior - In Progress
If close enough, Wild Mustangs will run from the player unless he is sneaking (in progress)
if even closer, Wild Mustangs will run from the player period. (not started)
General Horse behavior is nearly 100% coded!
Horses graze (... even if moving. Still trying to fix that, silly ponies)
Horses follow you if lasso'd (and ram into you >.>)
Horses follow whatever living entity you tell them to follow.
Except if you tell them to follow themselves. Then they just look at you judgmentally.
Lasso is partially coded!
Will catch horses and make them follow you.
Will tie caught horses to other horses and entities.
Holy, that sounds amazing!
Please tell me there will be a pre-release soon ?
Once I finish the wild mustang, general horse, and basic lasso code and texture, I can try and release that much if you'd like (no sounds added yet, though). There wouldn't be much you could do with them (Besides chase, catch and break them), however.
Also, since I'm not using an API, it's not base-clean. I believe I've changed items.java, biomegenbase.java and rendermanager.java, but those should be the only ones.
Once I finish the wild mustang, general horse, and basic lasso code and texture, I can try and release that much if you'd like (no sounds added yet, though). There wouldn't be much you could do with them (Besides chase, catch and break them), however.
Also, since I'm not using an API, it's not base-clean. I believe I've changed items.java, biomegenbase.java and rendermanager.java, but those should be the only ones.
Wait, one question.
Why did you have to edit BiomeGenBase ?
Although I'm not a modder, I'm fairly sure Flan has pulled something like this off, and if not, he will probably be your best bet of doing it regardless.
Also, very interested in this mod, should bring a little more realism to the game. maybe you could consider using horses to generate power, but requiring food and sleep (might need to work with another modder for that).
Have you considered adding a new fertilizer to the game with this mod?
Admittedly, only food given to them can be turned into such a fertilizer.
How far are you going with the AI? are you giving them a hunger mechanic too, or are you going to save yourself the trouble? There's just a lot you can throw into the mix with the hunger, such as efficiency with their work (pulling or being ridden) as well as getting up at all, and then even death in the extreme.
Edit: I've paid some attention, even in other threads of yours, and you said about having the stallion move around itself, and have the "herd" follow, but what if I catch the stallion first? any other stallion that might have been there was turned into a "mare" also. so do they wander aimlessly, or have you set up a system for a mare to become a stallion?
Also, do you have an interest in making a (tamed) stallion "better/stronger" in anyway to a (tamed) mare? only reason I ask, is it's fitting that the leader be strongest, and also sounds to be harder to tame. I think there should be an added reward for that.
BLANABBA!
Flan does make the vehicles mod, doesn't he? Hmm.. maybe I will contact him about it, if I get the nerve!
Thanks for taking an interest in this mod! It feels good to have more support. Support makes me work harder. Yes, the horses will have a hunger-like meter (actually it's just called "Energy"), and it will decrease while they are being ridden or pulling drought. They replenish it and their health by eating grass, or by being given food!
After a certain drop, the lower their energy, the slower they move (not coded yet)
If their energy drops to 0, they don't work at all and you must return them to full health before they'll work again. (not coded yet)
As an indicator, their heads droop as they get tired (is coded! I had fun hitting horses with swords to test it.)
And about the herd dynamics, yes, the mares follow the stallion, but if you catch the Stallion first, the herd chooses a new Stallion to take his place! Same principle applies if the stallion dies or if a mare gets separated (have to fix the latter methinks).
I dunno about providing power though. We already have redstone, but do'ya have an idea?
I probably won't give a special ability to tame stallions, though. They're really just there for the herd dynamic. But I was toying with an achievement for taming one.
And.. providing a new fertilizer? Hmm... I'll have to think more on that.
Wait, one question.
Why did you have to edit BiomeGenBase ?
That's the only way I know how to get mobs to spawn in the world! Of course, I followed an outdated mod...
(Now, in the full-release version, biomegenbase will be clean. I'll only add the horses to biomegenplains. But I want them to spawn anywhere at the moment, to easily find/debug them)
Donkey's were employed in donkey wheels or capstans in order to provide mechanical power to mills and bellows on furnaces... Now, suppose I included such a device to power furnaces (over coal or even lava buckets) or even make a vertical lift (elevator or storage transport)?
My god.. I really.. really like the thought! Thank you very much, sir! I think I might employ such a thing, if not in Simply Horses than in Complexly Horses!
That's the only way I know how to get mobs to spawn in the world! Of course, I followed an outdated mod...
(Now, in the full-release version, biomegenbase will be clean. I'll only add the horses to biomegenplains. But I want them to spawn anywhere at the moment, to easily find/debug them)
You can do the spawning all in the mod_ file.
I'll pm you some code to show you.
Fantastic. I was thinking of making this mod myself, but it seems you've beaten me to the punch.
Although I don't believe this for fact, I'm going to assume with what I'm suggesting that you haven't coded or have plans for coding beyond what you've written here for practicality's sake (or I'd assume you'd written/planned everything and suggest nothing, lol.)
-> Once you have the horse lassoed, have the ability to tie one end of the lasso to a fence post. Possibly have it so that you accumulate invisible 'taming' points the longer you're within a certain radius of it (perhaps even allow you to get more points the closer you are, to a reasonable extent). Once you get to a desired number/amount of time, the horse is tamed. Alternatively, if you're away from the horse for more than, I don't know, maybe one or two minecraft days, the horse despawns or "breaks free and runs away".
-> Have some stubborn brute wild horses that, when lassoed, will occasionally just go a completely different direction than you or even just simply stop, whether to be impudent or to eat grass.
-> Perhaps a brush that could be used every once or twice a minecraft day to cut down on time needed for the horse to be tamed? I'd imagine it'd be like the current taming dynamic for wolves and cats, except you wouldn't use up the brush, and of course, it wouldn't tame the horse, it'd only cut down on the time.
-> You'd have to edit some base classes to do this, but-- dynamics between wolves and wild horses. Maybe a pack of wolves would try to hunt a foal (if wild herds have foals) or a mare, and the stallion would go and attack the wolves, causing them to flee.
-> Rearing. It could be used for a lassoed horse, or to make the stallion easier to spot among his herd, or just if a player wanted their tame horse to do so while they rode it so they could pose for the camera. Because what is Minecraft without some aesthetic-centric modding.
Herp. Hope you don't mind the word vomit, I've been thinking about this kind of mod a lot.
Please, call me Avii!
Background and OverView
Simply Horses opens the player to a new mode of play, both advantageous and detrimental. With this mod, one can catch his own horse, break it, and use it in one of three ways- to race around the world and push the borders of their domain, to trample over enemies, or to make day-to-day work and travel a bit more doable. There are also new tools to help you, from simple storage carts to homely wagons.
Content - About the Horses, Items, Carts and FarmTools
Screenshot texturepack: My favorite 16x16- Jolicraft!
Gameplay Instructions (For Current Release)
Screenshot texturepack: My favorite 16x16- Jolicraft!
1.5.1 Current Version Info - Version Alpha 0.6.1
Download (SSP/LAN/SMP 1.4.7)! This version Requires Forge Universal 7.7.X! SparrowAPI is currently included in my download, you don't need to do anything with it!
1.5.2 Current Version Info - Version Alpha 0.6.1
Download (SSP/LAN/SMP 1.5.1)! This version Requires Forge Universal 7.8.0.684 (at least)! SparrowAPI is currently included in my download, you don't need to do anything with it!
You must have MCPatcher or Preferrably Optifine installed to view the extra Randomobs textures.Random textures are handled in-game now.DELETE YOUR OLD COPY OF SIMPLY HORSES FROM THE FORGE "Mods"; FOLDER. Please remember this mod is still a WIP and is being released as-is in order to bug test. Unexpected results may occur. This is not the finished product, so please hold your opinions (and remember this fact when forming them). I do want to hear suggestions and of course bug experiences though, so please don't hesitate to post them. I want this mod to not only showcase my vision but also to entertain those who download it.
Special note for ALL downloaders of this version: This new update contains primarily bugfixes and edits to existing mechanics! Like always, please do not form any concrete opinions on how the mod is currently; it is, after all, a work in progress, and your ideas on how it can be improved are always welcome and can only benefit the mod and its community. Please be sure to leave your questions, comments, concerns, and of course BUG REPORTS.
Special note for downloaders willing or wanting to bugtest: Thanks for your help! This new version adds bugfixes as well as edits to old content. While I don't expect any big bugs, if you find any please report them! By all means look into anything else that catches your eye. Per usual, if something seems off in general, or you have ideas on how to fix or improve any bit of this new release, let me know! Again, thanks for helping me develop this mod ^^.
New Content
- Added spawn eggs. The Wild Horse egg will only spawn herds and only when the nearest herd is about 50 blocks away. Mustangs still need the bridle item.
Config Stuff
- Added grass block id config
Bug Squashing
- Fixed trains moving really fast even on the lowest speed
- Fixed lasso appearing in wrong place on horses and vehicles
- Fixed another crash on load due to lassos
- Fixed issue with prairie grass growth metadata
- Fixed wild foals not being born. Wild Horses accidentally had a 1-in-9,000,000 chance of mating... Go figure.
- Fixed foals not being able to move toward mom when mom was standing still.
- Fixed tame foals not being lassoable.
- Fixed horse head angles after spawning whippletrees
- Fixed horses being unable to climb one block and vehicles clipping when doing the same
- Temporary fix for another crash dealing with players attacking the horse they're riding with custom mod weapons
- Temporary fix for Random Mobs textures. Horse textures are chosen at random, but are the same between server and client. Mustangs inherit their texture from Wild Horses once tamed.
Edits
- Tweaked - Raised gallop speed of ridden horses
- Tweaked - Train-making system to be less complex. Please read the OP!
Known Bugs and Potential Bugs to Watch For
Support! Banners etc~!
Randomobs Texturepacks!
Video! (4)
NewMotion provides a video tutorial for 0.5.0A+!
media]" frameborder="0" autoplay="false" allowfullscreen sandbox="allow-forms allow-scripts allow-same-origin allow-popups">
The Yogscast reviews Alpha 0.2.1!
The Signalist reviews Alpha 0.2.2!
GameChap and Bertie review Alpha 0.1!
Ipodmail(?) reviews Alpha 0.1!
The main thing I'm worried about is the wagon and vardo, though. But I'll have my dad to help me with that (Senior Programmer w00t w00t!)
This is the mod I've been waiting for ever since I started playing Minecraft.
I like the new AI update :P. Btw, when did you start working on this ?
If by "wagon train" You mean being able to pull several carts one behind the other...
Yes! You will be able to organize wagon trains with this mod- its already been planned out! But there will be a limit on the load a single horse can pull (for instance, two horses together will not be able to pull ten wagons, but they may be able to pull two. I'm not sure on the balance yet.).
This is all assuming the coding will work =P.
As for carriages? I think the vardo covers that somewhat, but all cart/wagon/vardo teams must be lead by you in front of the horses (Guiding them along on horseback or otherwise). I'll look into adding a fourth vehicle that allows at least one passenger, though. ^^
And if someone reading this topic knows how to assign multiple riders to a single entity and would like to mentor/teach me how (teaching, not coding), please contact me!
Also on a side note: Totally looking into possibly adding stables to NPC villages!
The Wild Mustang is nearly 100% coded!
Holy, that sounds amazing!
Please tell me there will be a pre-release soon ?
Also, since I'm not using an API, it's not base-clean. I believe I've changed items.java, biomegenbase.java and rendermanager.java, but those should be the only ones.
Wait, one question.
Why did you have to edit BiomeGenBase ?
BLANABBA!
Flan does make the vehicles mod, doesn't he? Hmm.. maybe I will contact him about it, if I get the nerve!
Thanks for taking an interest in this mod! It feels good to have more support. Support makes me work harder. Yes, the horses will have a hunger-like meter (actually it's just called "Energy"), and it will decrease while they are being ridden or pulling drought. They replenish it and their health by eating grass, or by being given food!
And about the herd dynamics, yes, the mares follow the stallion, but if you catch the Stallion first, the herd chooses a new Stallion to take his place! Same principle applies if the stallion dies or if a mare gets separated (have to fix the latter methinks).
I dunno about providing power though. We already have redstone, but do'ya have an idea?
I probably won't give a special ability to tame stallions, though. They're really just there for the herd dynamic. But I was toying with an achievement for taming one.
And.. providing a new fertilizer? Hmm... I'll have to think more on that.
That's the only way I know how to get mobs to spawn in the world! Of course, I followed an outdated mod...
(Now, in the full-release version, biomegenbase will be clean. I'll only add the horses to biomegenplains. But I want them to spawn anywhere at the moment, to easily find/debug them)
You have an idea there...
Donkey's were employed in donkey wheels or capstans in order to provide mechanical power to mills and bellows on furnaces... Now, suppose I included such a device to power furnaces (over coal or even lava buckets) or even make a vertical lift (elevator or storage transport)?
My god.. I really.. really like the thought! Thank you very much, sir! I think I might employ such a thing, if not in Simply Horses than in Complexly Horses!
You can do the spawning all in the mod_ file.
I'll pm you some code to show you.
Although I don't believe this for fact, I'm going to assume with what I'm suggesting that you haven't coded or have plans for coding beyond what you've written here for practicality's sake (or I'd assume you'd written/planned everything and suggest nothing, lol.)
-> Once you have the horse lassoed, have the ability to tie one end of the lasso to a fence post. Possibly have it so that you accumulate invisible 'taming' points the longer you're within a certain radius of it (perhaps even allow you to get more points the closer you are, to a reasonable extent). Once you get to a desired number/amount of time, the horse is tamed. Alternatively, if you're away from the horse for more than, I don't know, maybe one or two minecraft days, the horse despawns or "breaks free and runs away".
-> Have some stubborn brute wild horses that, when lassoed, will occasionally just go a completely different direction than you or even just simply stop, whether to be impudent or to eat grass.
-> Perhaps a brush that could be used every once or twice a minecraft day to cut down on time needed for the horse to be tamed? I'd imagine it'd be like the current taming dynamic for wolves and cats, except you wouldn't use up the brush, and of course, it wouldn't tame the horse, it'd only cut down on the time.
-> You'd have to edit some base classes to do this, but-- dynamics between wolves and wild horses. Maybe a pack of wolves would try to hunt a foal (if wild herds have foals) or a mare, and the stallion would go and attack the wolves, causing them to flee.
-> Rearing. It could be used for a lassoed horse, or to make the stallion easier to spot among his herd, or just if a player wanted their tame horse to do so while they rode it so they could pose for the camera. Because what is Minecraft without some aesthetic-centric modding.
Herp. Hope you don't mind the word vomit, I've been thinking about this kind of mod a lot.
Everything you've done so far is gorgeous. <3