CustomPets is the perfect pets plugin for any type of server! You can get rid of your old plain, boring pets, and replace them with your created ones. Creating your own pets is very simple and easy to do. This plugin takes advantage of the numerous NBT Tags an entity has and allows server owners to use them for their own pets. With this plugin, your server will definitely feel more unique with its own set of customized pets. You may also share your pet creations with everyone in the Official CustomPets Discord Server!
- Spigot/Bukkit 1.8, 1.9, 1.10, 1.11, and 1.12 compatibility
- All mobs supported
- Multi-World support
- Unlimited amount of pets
- Customizeable Pet Menu
- Riding your pets
- Petting your pets
- Naming your pets
- Pet Hats
- Pet Trails
- Defending of Pet Owners
- Custom Permissions for every pet
- Configurable Messages and Defaults
- Auto-Saving of Pets on Disconnect
- Easy Configuration and Creation of Pets
- Constant updates for cool new features
- Amazing Support
If you made an video review of this plugin, just leave the link in the discussion section, and I will add it here.
English:
<iframe width="560" height="315" src="https://www.youtube.com/embed/9k00_eaKSCY" frameborder="0" allowfullscreen></iframe>
French:
<iframe width="560" height="315" src="https://www.youtube.com/embed/GPKxRMl3FBY" frameborder="0" allowfullscreen></iframe>
/pet - Lists all the pets you own
/pet help - Shows a list of pet commands
/pet [pet] - Spawns your [pet] (Requires permission of [pet])
/pet remove - Removes your spawned pet
/pet menu - Opens the pet menu
/pet name [name] - Changes the name of your pet to [name]
/pet ride - Rides your spawned pet
/pet hat - Places your pet on the top of your head
/cp - Lists the "cp" commands.
/cp reload - Reloads the plugin
/cp list - Lists all the created pets
cp.update.notify - Notifies player with permission on join
cp.pet.command - /pet, /pet [pet], /pet remove
cp.pet.help - /pet help
cp.pet.menu - /pet menu
cp.pet.name - /pet name
cp.pet.ride - /pet ride
cp.pet.hat - /pet hat
cp.command - /cp
cp.reload - /cp reload
cp.list - /cp list
To learn to create your own pets, click here.
Default Configuration Files
config.yml
Code:
######################################################
#Welcome to the default config.yml file of CustomPets#
#All CustomPets properties can be configured here #
######################################################
#Sets whether the plugin will automatically check for updates on start
check_for_updates_on_start: true
#Sets the default name of every pet spawned [player] = pet owner's name, [pet] = Pet Type or Pet Name
default_name: '&a[player]''s [pet]'
#Sets the maximum length names of pets can have
max_name_length: 30
#The distance between the pet and its owner before teleporting the pet to its owner
distance_pet_teleport: 10
#The default speed set for every pet
default_speed: 50
#Sets a list of all worlds where pets are disabled
disabled_in_worlds:
- disabled_world
#This is the PVP section of the plugin
pvp:
#Sets whether players' pets will be removed once they attack a player
attack_player_remove: false
#Sets whether players' pets will be removed once they're attacked by a player
player_attack_remove: false
#This is the section of the config where you can configure pets helping their owners
help_fight:
#Sets whether pets will help fight against enemies
enabled: true
#Sets pets' default damage
default_damage: 2.0
messages.yml
Code:
########################################################
#Welcome to the default messages.yml file of CustomPets#
#All messages sent to players can be configured here #
########################################################
#Message received when player doesn't have permission
no_permission: '&cYou do not have permission to do this.'
#Message received when player doesn't have any pets spawned
no_pets_spawned: '&cYou do not have any pets spawned.'
#Message received when player sets a pet's name to be too long
name_too_long: '&cYour name has exceeded the character limit. You can only have a maximum of &6[max] &ccharacters.'
#Message received when player removes his/her pet
remove_pet: '&aYour pet &b[pet]&a has been removed.'
#Message received when player's pet's name is changed
change_name: '&aYour pet''s name was changed to &r[name]&a.'
#Message received when player spawns a pet
spawn_pet: '&aYour have spawned your &b[pet]&a.'
#Message received when player's pet is already spawned
already_spawned: '&cYour pet &b[pet]&c is aleady spawned.'
#Message received when player tries to spawn a pet he doesn't own
pet_not_owned: '&cYou do not own this pet. Type &6/pet &cto see a list of pets you own.'
#Message received when player removes a pet from his/her head
pet_remove_from_head: '&aYour pet is been taken of your head.'
#Message received when player already has something else on his/her head
something_already_on_head: '&cSomething is already on your head.'
#Message received when player tries to hat a pet while he/she's riding another entity
pet_hat_fail: '&cYou must dismount your current vehicle before being able to place your pet on your head.'
[/SIZE]
#Message received when player places his pet in his/her head
pet_put_on_head: '&aYour pet is now on your head.'
#Message received when player tries to ride a pet while there's a mob riding him/her
pet_mount_fail: '&cYou must remove the mob on your head before being able to ride your pet.'
#Message received when mounting your pet
pet_mount: '&aYou are now riding your pet.'
#Message received when you're already riding your pet
pet_already_mounted: '&cYou are already riding your pet.'
#Message received when player enters/spawns a world where pets are disabled
disabled_in_world: '&cPets are disabled in this world.'
#Message received when a player's pet gets removed because of pvp
pet_remove_in_combat: '&cYour pet is now removed because you have entered into combat.'
#Message header received when player uses command "/pet help"
help_header: '&e-------=====&aCustomPets&e=====-------'
pets.yml
Code:
#########################################################
# Welcome to the default pets.yml file of CustomPets #
#All Pets created/modified in this file #
#To learn how to create your own pets, click here: #
#https://www.spigotmc.org/wiki/custompets-configuration/#
#########################################################
TurboPig:
type: PIG
permission: cp.pet.turbopig
name: '&b&o&lTURBO&r &dPig'
gui:
id: PORK
lore:
- '&cJust a really fast pig...'
pet: HEART,5
trail: CLOUD
saddle: true
speed: 100
PumpkinMinion:
type: ZOMBIE
permission: cp.pet.pumpkinminion
name: '&6&lPumpkin Minion'
gui:
id: PUMPKIN
lore:
- '&cWoah, SPOOKY!'
silent: true
invisible: true
baby: true
helmet:
id: PUMPKIN
hand:
id: IRON_HOE
enchanted: true
Vampire:
type: ZOMBIE
permission: cp.pet.vampire
name: '&f&lVampire'
gui:
id: GHAST_TEAR
lore:
- '&cThis human/bat will stalk you wherever you go.'
trail: LARGE_SMOKE
silent: true
invisible: true
helmet:
id: SKULL
data: 1
chestplate:
id: LEATHER_CHESTPLATE
color: 0,0,0
enchanted: true
To test this plugin out before purchasing it to see how it works, you may join my Test Server. There, you will be given access to all the available pets, and all the pets options. Also, the version of that server will be the development builds so some things might be a bit different from the latest released version
IP Address: 162.244.164.131:40898
1. Buy/Download the CustomPets.jar plugin.
2. Drag it to the plugins folder of the root of your server.
3. Run/Reload the server.
4. Create your own pets with the pets.yml file
5. (Optional) Configure the config.yml and messages.yml files
5. Enjoy the plugin.
6. (Highly Recommended ) Leave a review of the plugin below.
What versions of Minecraft servers does this plugin support?
This plugin supports CraftBukkit (Bukkit), Spigot, BungeeCord, PaperSpigot, and Cauldron with Minecraft versions 1.8 to 1.12.
Why is the JAR file smaller than most pet plugins?
Most pet plugins use many custom entity classes for each pet, thus making the file large. This plugin doesn't use custom entity classes because it would work the same way even without these classes.
Does this plugin work with ProtocolSupport?
Yes, unlike some other pet plugins, I've designed this plugin to work perfectly with ProtocolSupport, but some types of mobs that aren't available in older versions will use a different mob's texture instead (there is no way to create textures of new mobs in older versions of Bukkit/Spigot).
What types of servers will this plugin be useful for?
This plugin would be perfect for any type of server! It could also be used as a great EULA complaisant donator perk for players in your server to enjoy, or just a really cool addition to your server.
I set up some really simple methods to help some developers just in case they want to use this for their plugins. This is how to hook the API to your plugin:
Code:
CustomPetsAPI customPets;
@Override
public void onEnable()
{
if(getServer().getPluginManager().getPlugin("CustomPets") != null) //Check if plugin has a plugin called "CustomPets"
{
getServer().getConsoleSender().sendMessage(ChatColor.GOLD + "CustomPets has been hooked!");
customPets = new CustomPetsAPI((CustomPets) getServer().getPluginManager().getPlugin("CustomPets")); //Hooking up the plugin with the variable customPets
}
else
{
getServer().getConsoleSender().sendMessage(ChatColor.RED + "CustomPets not found. Disabling plugin...");
getServer().getPluginManager().disablePlugin(this);
}
}
Here's an example of a method being used:
Code:
Player player = Bukkit.getServer().getPlayerExact("RedNInjaPlaysMC");
if(customPets.hasPet(player))
{
player.sendMessage("You have a pet spawned!")
}
Here is a list of all the methods here:
Code:
customPets#hasPet(Player player) - Returns boolean true/false whether player has a pet spawned
customPets#isPet(LivingEntity entity) - Returns boolean true/false whether entity is a pet
customPets#getPet(Player player) - Returns Entity Pet of player
customPets#getOwner(LivingEntity entity) - Returns Player owner of pet
customPets#getOwners() - Returns List of all spawned pet owners
customPets#getPetType(Player player) - Returns String of Pet Type of player's spawned pet
If you have any problems with the plugin, or have a suggestion, just PM me. Don't leave any bad reviews before contacting me and resolving the problem.