Project: Save the Pets!

Project: Save the Pets!

Protect your pets from yourself and give them a second chance at life!

by
28.4K Downloads
fabricforgequilt
Rent Server with this Mod

About this Mod

Project: Save the Pets!

Version: 4.0.1-alpha
License: Apache-2.0
Client/Server Side: Either (Limited Client features)
Forge/Fabric/Quilt: Any
Contributor[s]: Sisby folk (they/them)

Protect your pets from yourself, friends, and the environment while giving them a second chance at life!

Works on the Client (with limited features) or the Server (Singleplayer counts as both). Unlike most mods, this mod will
work on both without the other. If installed on the server, all clients will receive server side features. If installed
on the client, you can join vanilla servers without issue.

Forge, Fabric, and Quilt have the same features and configuration files and can work with each other
(IE: Vanilla/Forge Server and Fabric/Vanilla Client).

Dependencies

Minecraft 1.20.0+

Java Version: 19+

Fabric Loader: 0.14.0+
Fabric API: 0.87.0+

Forge Loader: 47.0.0+

Quilt Loader: 0.20.2+
Quilted Fabric API: 7.1.2+

Features

Protection (Client/Server Side)

Your pets are protected from various sources of damage, either caused by you, your friends, or the environment.

Damage caused by Friends or You (Client/Server Side)

Damage that you or your friends cause can be prevented. The following sources are available and enabled by default:

  • Direct (Client or Server)
  • Explosions (Server only)
  • Projectiles (Server only)
  • Sweeping (Server only)

Environmental (Server Side Only)

Disabled by default for balancing reasons. The following can be enabled to protect your pets from them:

  • Explosions
  • Sweet Berry Bushes
  • Fire/Lava
  • Freezing from Powder Snow
  • Drowning

Whitelist (Client/Server Side)

You can whitelist friends that should be protected by the mod. You only need to provide the username or the UUID of the
account as the other values will be automatically generated. Behaviour is different between the server and client.

Server Side

Users added to the whitelist are protected from all players.

Client Side

Entities whose owners are in the whitelist are protected from damage caused by you (Limited by Client Side features).

Vanilla Teams (Client/Server Side)

Players in the same vanilla team with Friendly Fire disabled cannot harm each other's pets. Disabled by default for
balancing reasons and Client Side bug.

Note: Client Side implementation might cause the game to freeze for a few seconds as Vanilla Teams uses usernames
rather than UUIDs.

Revival (Server Side Only)

When your pet dies, it drops a note. You can then use this note to revive the pet by holding the note and right-clicking
on a Copper Block or other blocks that you have configured. The block will be consumed and the pet will be respawned! No
more missing your friend!

Transferring Pets (Server Side Only)

You can assume ownership of a pet by holding a stick or other configurable items, crouching, and then right-clicking on
the pet.

However, this feature is disabled by default and users in the server's whitelist are protected from this. You can only
transfer pets that you are considered friends with (Same Vanilla Team or PvP is disabled).

Untaming (Server Side Only)

Don't want your pet or want to give it to someone else? You can remove ownership by crouching and using a shear or other
configured items.

Harming your pets (Client Side only)

Holding down the Shift key or the key you configured while attacking will bypass the Client Side protection and harm the
pet. I'm not sure why you want to do this, but it's here, just in case.

Note: Feature is removed if Server has the mod installed.

Player Protection (Client/Server Side)

Disabled by default, you can add players to your whitelist (see whitelist for behaviour) and be unable to harm them or their pets!

Note: This feature could get you banned for changing how PvP works in servers. Use with caution.

Configuration

The mod is highly configurable with options to disable or enable features to suit the experience the user wants to have.

The configuration file is based on JSON. Please see the file CONFIG.md for an example with comments.

APIs (For Devs)

This mod is designed to be highly configurable from the programming aspects to allow other mods to adjust or add
behaviour to the mod.

Many methods and interfaces are available to use to easily add new environmental protection, new entity type to be
protected, or even logic to handle how protection is done (for Factions and similarly based mods).

I suggest having a look at the source code for ideas. Main areas to check are:

  • dcp.mc.projectsavethepets.ProjectSaveThePets - Main instance and logic handler
  • dcp.mc.projectsavethepets.apis.* - Contains interfaces that is used by the mod
  • dcp.mc.projectsavethepets.blockers.* - Code to prevent friendly fire
  • dcp.mc.projectsavethepets.entities.* - Entities that are protected
  • dcp.mc.projectsavethepets.mixins.* - Used to protect from sources of damage
  • dcp.mc.projectsavethepets.notes.* - Revival Notes NBT handlers

FAQ

Forge?

It's done already! I also updated it to include the Quilt Loader as well!

Mod Packs?

Go for it! You have my full permission to add the mod to your Public or Private Mod Pack. No credits required!

Can I use this for my mod?

Sure thing! Same as above!

Hey! I saw your code and would like to take a snippet!

Sure, I don't mind! As long as it's not a blatant copy and paste of an entire file! I do wish to be mentioned if
possible but isn't a requirement.

Do I need Fabric API/Quilted Fabric API?

Yes you do as the mod needs it for the custom keybindings. But only if you are using the Fabric/Quilt version of the
mod!

Is this client or server sided?

It can run on the Client without the Server having it installed. But, many features will be missing. This is more useful
for playing on a Public Vanilla Servers with your friends, so that you don't start a war between your pets. Note: We
are not responsible for bans for using this mod in a public server.

However, if the server has it installed, no Players will need to install the mod to get access to all the features.

Enjoy!

Does my client need this mod?

Only for servers that don't have this mod and for Singleplayer/LAN! See above for more information.

Does LAN Multiplayer work with this mod?

It does! As long as the person who is hosting the session has the mod, then everyone will have access to all features!

I got a question or a bug.

Feel free to comment below the question, however I would prefer if you left any bug reports in the GitLab Repository!
Thanks!

I got a suggestion or feature I want added!

As above, feel free to comment it! I do my best to add it, even if I disagree with it for balance reasons (Such as
environmental protection). I feel as if the mod should fit your needs, even if it is a niche. So it might be disabled in
the config by default, but you can always enable it!

Available Versions

Forge v3.2.0-1.19.2release
MC 1.19.2forge
September 27, 2022
Quilt v3.2.0release
MC 1.19, 1.19.1, 1.19.2quilt
July 10, 2022
Forge v3.2.0release
MC 1.19, 1.19.1, 1.19.2forge
July 10, 2022
Fabric v3.2.0release
MC 1.19, 1.19.1, 1.19.2fabric
July 10, 2022
Forge v3.1.0-old.1.18release
MC 1.18, 1.18.1, 1.18.2forge
July 10, 2022

How to Install Project: Save the Pets! on Your Server

1

Order Server

Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).

2

Set fabric Loader

In the panel under "Egg", select the fabric loader and matching Minecraft version (1.20.1).

3

Install Mod

Open the mod browser in the dashboard and search for "Project: Save the Pets!". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.

Compatibility

Mod Loaders

fabricforgequilt

Minecraft Versions

1.20.1, 1.20, 1.19.2 (+10 more)

Server-side

~ Optional

Recommended RAM

4 GB(min. 3 GB)

Frequently Asked Questions

Project: Save the Pets! server crashes on startup – what to do?

Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.20.1). You can switch loaders with one click in the panel.

Is Project: Save the Pets! compatible with fabric and forge and quilt?

Project: Save the Pets! officially supports fabric, forge, quilt for Minecraft 1.20.1, 1.20, 1.19.2. Note: Forge and Fabric mods are NOT cross-compatible – pick one loader and stick with it. The Mado dashboard automatically detects incompatible loader combinations.

Server lagging with Project: Save the Pets! – how to optimize performance?

Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Project: Save the Pets! consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.

Rent Modded Server

Install Project: Save the Pets! with just one click on your server.

Recommended RAM
4 GBab €8/mo
Min. 3 GB | +1 GB pro 8 Spieler
Create Server Now
1-Click Mod Install
NVMe SSD Storage
DDoS Protection included

Details

License
Apache License 2.0
Server-side
Optional

Supported Versions

1.20.11.201.19.21.19.11.191.18.21.18.11.181.16.51.16.4+3 more