- Fixed uploaded file being wrong in latest version
- Fixed database issues
- Fixed updater issues
- Fixed errors with database handling in some versions
- fixed MariaDB driver not being found
- changed the content of the locales folder to ensure better understanding of how it works
This version, adds SQL database and config converters for older versions (4.6) and can be used in production environments that use SQL databases.
Unfortunately for those using Redis the database the database won't be converted yet, so updating in production is not recommended for those.
This update also brings fixes:
- fixed pets stealing items (reported by Verum)
- fixed pet rename not supporting colors (reported by MrDomi)
This is a beta version, do not use this update on production servers!
- Changed Levels database table
- Cleaned up code
- Fixed issues with placeholder parsing with offline players
- Added /hdev command to have only one command to show versions, addons and updates of the HDEV plugins (will be introduced in all the other plugins)
- Plugin will now notify when a new update is available
- Optimized AbilityExecutor time parsing
- pet nametags now support PlaceholderAPI
- renamed pet nametags can now be colored using & color codes and require the permission pet.rename.color
Now supporting 1.20.6 and 1.21
- now you can set animation type: FOLLOW to make your pet follow you just like a dog!
- added new delay options in config: world_change, respawn. Setting any of the existent delay values to -1 will disable the listener
- Pet nametags are now displayed correctly
- Minor changes to Heads API
- There won't be warnings when converting Base64 heads now
+ using Base64 heads with the fix.inconsistent_heads option enabled will automatically convert that to an URL, which prevents the warning from Bukkit to be printed on console
Notice: the fix.inconsistent_heads option should be enabled only on 1.18+ servers, there's no need to enable that if you don't have warnings in console
- Fixed inconsistent heads
- Option to enable/disable consistent heads (fix.consistent_heads, default: true)
HPET is now compiled with Java 16 for compatibility reasons
- Fix plugin.yml plugin version
- Fixed nametags
- Completely removed /pet as command, can however be defined as alias (recommended)
- Now HPET supports Redis as Database type! Recommended for Bungeecord/Velocity networks!
- Fixed tab completion when using aliases
- Fixed named armorstands (not stable)
- Commands executed by GUI are now /hpet instead of /pet, to be compatible with other pet plugins
- Introducing Smart Pet updates! Now pets will seamlessy update during their lifecycle to prevent visual errors!
- Fixed exceptions getting sent in console
- Fixing plugin.yml not being present, compiling error
+ Fixed unexpected crashes
+ ModelEngine v4 direct support
+ ItemsAdder items as skins support
+ HPET now reloads automatically if it detects an ItemsAdder reload
+ new HPETReloadEvent API event
+ new Maven dependency (see docs)
+ new Balloons cosmetics (see docs)
+ you can now disable teleport delay to fix some issues
+ Added exclusive Halloween default pet! (Will be removed in next update)
- Removed unused Updater class
+ Minor changes to CHEST cosmetics (they now update rotation once every 4 tick to follow player rotation)
+ Inserted MariaDB driver into the jar file for those who didn't have that installed
+ Implementing CHEST cosmetics, still in testing phase
+ Fixed errors with MariaDB when retrieving Pet level
HPET now supports MariaDB as storage type!
+ Fixed error GameProfile name cannot be null in 1.20.2, thanks to
@rudde
+ You can set abilities to skip the first run when selecting the pet adding: skipFirstRun=true into your ability string
+ Pets get now wiped from database once the player leaves the server if the player didn't have pets selected, this allows better compatibility with networks
+ Changed Teleport event behaviour. Skipping pet updates for small teleports <10 blocks for better performance
+ Introducing smart alive check. HPET will automatically remove and stop ticking pets that may be corrupted during join/leave events. This allows hub servers to prevent errors and bugs
+ Fixed cosmetics folder not being created automatically
+ Fixed plugin not enabling when errors occurs while enabling pets
+ API now allows to spawn a Pet for Entities, not only players.
+ You can now set cosmetics in the cosmetics folder into separate files!
+ Updated source code on GitHub
+ Fixed issues with events
+ More than 20 hours of testing passed before releasing this version
- Fixed too long delay when loading pets from database
- Fixed pets not showing correctly upon teleport
+ HPET can now be used to create Cosmetics
*Cosmetics are invisible pets with abilities
+ You can now set pet visibility level in pets.yml: visible: true|false
+ You can now set pet selection group in pets.yml, ONE pet per group can only be selected at once, default group is called "default". group: "HEAD"
+ Fixed pets not despawning in 1.8
+ Now preventing incompatibilities with despawn packets in different versions using different methods to despawn the Pet
+ Added animations SIDE and WALK, try them out!
+ Modified default configuration files to make them more simple
+ Fixed 1.8 Packet System not working
+ Adjusted Pet yaw and hologram position correctly for 1.8 users
+ Fixed ability events
Notice:
1.8 version has limitations due to its age. Mob pets, CustomModelData and Models compatibility, and complex abilities, such as EXPLOSION and FAKE_ARMOR might not work for 1.8 version of the plugin
+ Fixed abilities not disabling with Pets sometimes
+ Fixed a material type which didn't exist in legacy_gui (only applies to <1.12 versions)
+ Pets now have GLOW as possible ability!
+ The "l" suffix now represents the required level for the ability to be executed and no longer represents the minimum level
- Levels now don't multiply the value * 1.2
- Levels 0 and 1 now doesn't get displayed as Levelup in messages
+ You can now specify an event on which the ability checks by putting (event)e, example TITLE:hey:SHIFTe, by default it is TIME
Valid event types are:
WALK, SHIFT, BLOCK_BREAK, BLOCK_PLACE, TIME
+ You can now specify a minimum required level by putting (level)l after :, example TITLE:hey:2l, by default this is 0
- Fixed DisabledWorlds not working properly in certain versions
+ HPET now supports 1.20
+ Fixed Mobs head rotation and MythicMobs head rotation (pets will now look in your same direction)
+ PlaceholderAPI is now supported in GUIs description and displayname
+ Internal placeholders like %level%, %player% are now applied in PetType displayname
- Fixed minor bugs with nametags
+ Added 1.19.4 support
+ Fixed ADD_HEALTH ability
+ Tweaks in update
+ Added delay options in config
+ Added Maximum level
+ Added level section in Config (IT UPDATES AUTOMATICALLY
+ Added WALK animation, it makes the Pet walk on ground side to side to the player
+ Fixed bug when executing certain commands from console
+ Fixed bug when loading Pet from database
+ Minor changes in Pet loading
+ Fixed a critical bug, throwing errors onTeleport event
+ Fixed Pet not being teleported to the player
+ Minor performance improvements
+ Fixed packet 78 error...
+ Update if you were using the plugin on 1.19.3 server
+ Now you can specify the minimum level required for an ability
+ Better arguments suggestion system
+ Added configurable teleport delay
in config.yml it is delay: 20
+ Fixed ChatColors not working with hex colors
+ Fixed permissions in GUI,
+ Added aliases options in config, update your config to see them
+ Fixed 'Invalid page number' message coming up in some commands
+ Added Czech translation
- Fixed skins not changing
- Fixed Pet size when using HDB
+ Added simplified chinese
+ Added es.yml
+ Improved disabledWorlds feature
+ Fixed nametags.defaultnametag option
+ Added ru.yml
+ Reduced database queries, this means less CPU usage
+ Added it.yml in locales folder
Fixed incompatibilities with claim plugins, tested with PlotSquared, WorldGuard, GriefProtection
+ Made so that when in combat pet disables and when exiting combat it selects again
+ Fixed an error in messages
+ Added 1.8 support
- Known problems: pet nametag position is wrong
+ Updated MythicMobs support
+ Fixed 1.19 support
+ Added DeluxeCombat support
New config feature: deluxeCombatHook, to make so that when entering combat the pet gets removed
+ Fixed updater giving errors
+ 1.19 support
+ New MySQL async setLevel method
+ New LevelCache, to have less database queries
+ Fixed ability bug with multiple players using same pet type
// reported on discord
+ Fixed Particles bug
+ Fixed Null nametag bug
+ Added legacy_gui.yml file for 1.8 instead of gui.yml file
+ Fixed 1.12 entities and heads
+ Fixed some 1.8 bugs (still not recommended)
+ Changed %pet placeholders to %hpet
+ Now CustomModelData items are put on Head by default
- removed onHead flag
+ Renamed file and plugin name to HPET, old Pet folder will be automatically renamed to HPET once updated
+ Changed Updater messages to be more compact
+ Fixed pet trails with CustomModelData not having onHead flag
+ Changed some of Mob pets mechanics to fix yaw problem
- removed ViaVersion dependencies
+ Now items can be put on head instead that on hand, just by writing
"onHEAD" as second skin
+ Fixed pet prices
+ Now GUI slots can be air
Sometimes pet would not spawn if that option was disabled, fixed
+ Added enablePetItems option in gui.yml to disable or enable pet buttons
+ Fixed some bugs with useLevelEvents option
+ Fixed Abilities having a delay on first execution
+ Fixed pet on respawn not updating correctly
+ Removed some useless listeners to improve performance
+ Now particles become invisible in vanish
+ Added /pets command as alias
+ pet.version and pet.command permissions are now assigned by default
+ Fixed messages.yml not loading
+ Added enableGui option as suggested
Now config.yml is reloaded with /pet reload
Now you can use "*" in enabledPets to enable all pets!
Reload command was having problems
To support all HPET compatible plugins, old API can still be used, but deprecated
Now you can add MythicMobs by using MYTHICMOB:mobname as skin!
It does support ModelEngine!
+ Added rotateWithPlayer option
rotateWithPlayer: false # if you stay still but rotate, should the pet move?
Improved general performance
THIS VERSION COULD CAUSE PROBLEMS WITH LEGACY VERSIONS, UPDATING IS NOT RECOMMENDED FOR 1.8-1.12
Please, don't use mythicmobs on production servers, that's still unstable!
- Fixed crashes
This version also provides experimental MythicMobs support, I don't recommend using that feature on production servers tho
+ You can now use filenameversion option in config, it will change the file name into HPET-(version)
+ Minor bug fix
+ pet.error.noperm.use was changed into error.noperm.use which works now
+ Added Metrics
+ Fixed y value not modifying height
+ Using different threads to do the work
+ Added /pet version command, pet.version permission
This version has no major changes, please update if you encounter errors in 3.2.4
+ Added Updater notifier, use pet.admin.notifications permission
+ You can now disable default nametag of pet in config
Color codes were not working properly
+ You can now use Mobs as Pets! (Only 1.12+)
Use MOB:MOBTYPE in skins, example MOB:SHEEP
+ Pet nametags changes:
+ Limit characters in config.yml
+ pet.rename.color permission to allow using color codes
+ Added HEX color support
+ You can now add a y value to nametags, example is shown in default pets.yml
+ Added burger default pet
+ Completely removed externalTeleportPacket which wasn't in use yet
+ Now you can set a yaw per pet, adding yaw value
+ You can disable Pets nametags by setting to false the useNametags value in config.yml
+ Pets nametags are now centered by default
+ Pets particles are now based on nametags location
+ Pets now have a nametag, by default it is Type displayname
+ Pets nametags are saved in Database, RESET YOUR DATABASE TO APPLY CHANGES
+ Pets can be renamed with /pet rename <name> command, permission: pet.rename
+ Placeholder %pet_name% now returns pet nametag
+ Added %pet_typename% placeholder witch replaces old %pet_name%
+ Fixed Respawn bug
+ Pets nametags distance can be changed by adding distance value in pets configuration, example:
disabledPet:
displayName: "&aI am an example!"
animation: SLOW_GLIDE
distance: 2
description:
- ""
- "&7This pet is not enabled in config.yml so it will not appear ingame!"
- "&7If you want to use customModelData here it is an example of how to use it!"
skins:
- "DIAMOND_HOE:2"
- "DIAMOND_HOE:3"
+ Placeholders can now be parsed if player is offline
+ Fixed entities being buggy when joining or changing world
+ New Animation SIDE, pet will walk to the side of the player!
+ New Default pet: Snail, it is using the SIDE animation!
+ New Default group: fantasy: it is including 3 default pets
+ Fixed 1.8 issues
+ Fixed some startup messages
+ Now Pets GUI title is configurable in messages.yml, section gui.name
If you were encountering errors with EventHandler and GUIs, update!
+ Fixed a few errors with invisibility and animation
+ Added TabComplete to commands
+ Fixed errors with Pet invisibility
+ Fixed yawCalibration not working
+ Fixed errors with newer versions
+ Fixed error with PlayerLeaveEvent
+ Fixed error with 1.14
+ Changed a little bit default pets.yml
+ CustomModelData now works differently
+ Fixed an error upon saving data in leave event!
+ Pet particles and color are now being saved in database (I recommend regenerating the database if possible)
+ Switched sout messages with Bukkit.getLogger() in order to avoid errors
+ Added %pet_level% placeholder
+ Recoded the Commands class, better performance, cleaner code, more integrity
+ Updated messages.yml
I literally did something like
if(string == null && string.equals(otherString))
it should be like
if(string != null && string.equals(otherString))
got fixed
+ Now Vanish feature supports CMI too!
+ Now ModelEngine should be working better
+ Updated default config, added vanish: true by default
+ A little performance improvements
+ Now pets are refreshing more rarely
+ Now pets are no longer interactable while refreshing
+ More optimization
+ Cache is no longer cleaning after 10 minutes
+ Pets are now auto updating after 100 seconds
+ Bugs with 1.8 should now be fixed
+ Updated default config
+ /pet reload command is now reloading messages.yml too
+ Support for ModelEngine, put as first skin MODELENGINE:<modelname> to use that in your Pet
+ Made SCOREBOARD_TEAM packet listener async
+ Small fixes
+ Now pets are not auto updating
+ When changing world pets are now updating right
Would eventually cause errors
+ New messages.yml file to have cleaner config
+ Fixed some missing messages in default config
+ Fixed database errors with Pet levels
+ Fixed visible armorstands
+ Now pets are refreshing every 40 seconds to fix eventual problems
- Fixed the byte size of data when using MySQL
+
NEW! Pet levels!
Use /pet level to check your Pet level!
Use /pet setlevel <petType> <amount> to set the Pet level! (pet.setlevel)
+ Updated MySQL Driver
+ Fixed some default messages in Config
+ Removed Deprecated API methods
+ Added Pet Levels methods in the API
+ Fixed a bug in 1.8
+ Fixed a problem when pets.yml was empty
+ You can toggle in config by adding the line vanish: false to not hook into vanish plugins
+ You can change MySql database name in line mysql.name
+ Implemented some new Async tasks
+ Fixed a bug where the Pet trail would not despawn when unselecting
+ Fixed a bug where Pet would become an armorstand when a player join
Pet trail would stay spawned when updating pet
Changed the usage of a permission in Pet Selection
+ Added an experimental Addons folder, where you can load your Pet addons!
YOU CAN NOW USE /pet color TO CHANGE GLOW COLOR
If you are using HPET API or HPET Addons make sure to update them!
+ /pet color command (could not work sometimes, that's still experimental
+ More stable build than 1.9-SNAPSHOT
- Optimized code
- Fixed some bugs from 1.9-SNAPSHOT
- Fixed compatibility issues with Spigot 1.8
This update is adding nothing, but it will allow to add Pet colored glow, fix 1.8 issues, better version compatibility, lower file size and more, don't use this on production servers
If you are using Vault, it could cause errors in case you didn't have an economy plugin installed, now it doesn't!
- Config was loading after Pet load, it would cause errors on first start
- pets.yml file wouldn't generate on first start
+ pets.yml file is no longer empty on creation
+ Fixed onRespawn event when respawning in unloaded chunks
+ Now Pets have their own file, pets.yml! PLEASE UPDATE YOUR CONFIG!
+ Now Groups descriptions use Pet displayname instead of Pet name!
+ Added Previous page button in Pet Groups GUI!
- Removed next page button on last page!
+ Updated internal plugin version
+ Fixed a bug in 1.8 when building a pillar
Now in the GUI you can use Pet groups! See the default config on the main page for an example of usage!
Now pets will be divided into pages, also added PremiumVanish & SuperVanish support
It was not making pets invisible when drinking invisibility potions, sorry
+ Using invisibility potion your pet will not be visible!
+ Being in vanish will make your pet invisible!
+ Changing your gamemode in spectator will make your pet invisible!
Fixed an error, no major relevance
+ Project launch event would throw errors in older versions, now it doesn't
+ Now the plugin is sending less packets per pet, without changing any aspect
+ Removed Pet speed variable, it is now a value of 14
+ Particles now are affected by yawCalibration
- Default config should now be fine
- Sometimes pet would not be removed in onDisable, now they do
Removed the Cache cleared debug message!
Some bug fixes, trident and world change
Now Items are cached for 10 minutes, so everything is smoother!
Now packets are sent only to players in render distance, so with many pets you will have better connection, less resource usage on your server and also fix some disconnections caused by large packets!
Now every particle has permission, you can give pet.particle.* for all
Optimized commands system
Now the plugin is checking if the file size is right, if not so it is not enabling, in order to prevent rat and viruses to spread on your server plugins!
+ Added Pet Particles with /pet particle <particlename>
- Fixed config error messages
+ Added the method getEnabledUserPets in the API
+ Performance improvements
+ You can now define a price for pets and players can buy them!
+ Added /pet buy <petname> command!
public static API getAPI()
@Deprecated
public boolean hasPet(Player p)
public boolean hasUserPet(Player p)
public UserPet getUserPet(Player p)
public List<PetType> getEnabledPetTypes()
@Deprecated
public UserPet getPlayerPet(Player p)
this are the new API methods!
Added /pet reload command
Now with Hybrid mode yawCalibration will only affect CustomModelData pets!
Just fixed an 1.8 error, now it is stable
Fixed this problems:
- Pet were despawning in 1.8 after 4-5 chunks
- Pet were tilted in 1.8
- Pet trails would not summon in 1.8
Fixed HeadDatabase support
+ Performance improvements
+ 1.8 support
+ Async GUI loading
+ Added World Blacklist!
+ Added Slow glide animation, it is half Glide speed
EventSystem would not work as described, sorry
NOW THE CONFIG PROVIDES A yawCalibration VARIABLE!
It is useful for those who want to use the CustomModelData feature
+ Added anymation types (BOUNCE, GLIDE, GLITCH, NONE)
+ Modified default config
+ Fixed error on startup
You can now enable the use of Custom Model Data in config!
customModelData:
use: false
materia: DIAMOND_HOE
In case you are using it, skins value must be integers representing the model data!
+ MySQL support, in config you can enable MySQL and set user, password, port and address, I recommend saving and resetting your config!
+ Base64 heads support, working for every minecraft version
+ Major optimization, code cleanup
GUIs and Pets were not showing correctly sometimes in 1.12
I uploaded the wrong file in the last one, sorry
Now the plugin is only using packets, supporting every listed version
+ Added support for Real entities instead of packet ones
+ The plugin will automatically switch between packet entities and real Armorstands in unsupported versions, (1.8 - 1.14)
+ Improved HeadDatabase API usage
DEVELOPER API:
+ added hasUserPet(Player) - whether the player has a pet
+ added isItPacketSide() - if it is using packet side entities
I just found out that in the default config there was a message missing, this could cause problems with the plugin, added it back, now in case some messages are missing they will replaced with an Auto generated text, sorry
DEVELOPER API:
Get the API: Pet.getAPI();
Get UserPet: api.getUserPet(Player player);
Events:
- PetSelectEvent
- PetRemoveEvent
- PetUpdateEvent