SimpleHorseInfo 2.3

Display information about the horse you are riding

  1. SyntaxCheck
    Native Minecraft Version:
    1.16
    Tested Minecraft Versions:
    • 1.16
    About
    This plugin will give the ability to view the hidden statistics of the Horse/Mule/Donkey/Llama the player is riding. It does not alter the mechanics in any way. The default configuration of the plugin will auto display the horses Speed/Jump Blocks and Max Health ratings when the user mounts a horse in the action bar but there are options to display the text in chat.
    [​IMG]
    See the below configuration/permissions/commands for how to customize the plugin.

    The display system was inspired by CytologicHorses https://www.spigotmc.org/resources/cytologichorses.60402/

    Stat explanation
    Overall:
    This is the rating out of 10 stars for how perfect all 3 stats are combined.
    Horse Speed: This is the rating out of 10 arrows for how perfect the Speed stat is on the horse. The yellow text after the arrows shows the Blocks per second as well.
    Horse Jump Blocks: This is the rating out of 5 squares representing the number of whole blocks the horse can jump. The yellow text after the squares shows the Blocks.
    Horse Max Health: This is the rating out of 10 hearts representing how perfect the Max Health stat is on the horse. (Not the current health of the horse)

    Plugin Config
    The config.yml includes some available configuration for enabling/disabling auto display of horse stats to the user if you give the user the horse.enable permission (given by default). Note that if you give the user the horse.auto permission (given by default) the user can override this default value. If you wish to clear all users configuration then utilize the /horse resetuserdata (Permission horse.admin) command. Utilizing the /horse reload (Permission horse.admin) command will also reload these configuration settings.

    The config allows you to customize the majority of the display text. I have tried to add information within the config file itself to help you with editing the config but let me know if you have any questions in the discussion tab. Drop a message in the discussion tab if you run into areas you want to be able to configure but I do not have an option in the config and I might be able to add it for a future release. You can utilize the /horse resetconfig (Permission horse.admin) command to reset back to the default values if the config gets messed up.
    Code (YAML):
    # This will enable additional log messages to help debug issues or provide additional information.
    debug
    : false
    # Should the plugin notify you when new updates are available
    #   notify, global notify setting, turning this off will disable all update alerts
    #   notifyType, the type of update notifications you want to receive
    #     ALL: Notify on all releases. Major, Minor and bugfix.
    #     MAJOR_AND_BUGFIXES: Only notify on major releases and bug fix releases.
    #     MAJOR_ONLY: Only notify on major releases.
    #     BUGFIXES_ONLY: Only notify on bug fix releases. This may notify you for a bugfix on a release you have not loaded yet.
    update
    :
      notify
    : true
      notifyType
    : 'MAJOR_AND_BUGFIXES'

    # Fix the horses facing direction to match the players facing direction when you mount the horse. By default when you mount
    #   a horse the player will change his facing direction to match the horse. This setting if enabled will make the horse change to match the players facing direction
    horseFix
    :
      changeHorseFacingToMatchPlayerOnMount
    : true

    # The action bar is the text displayed above your health/armor display. This text location is potentially shared by other plugins.
    # Allow action bar display, enabling this will enable the scheduled task that will interact with the action bar. This will take additional resources (albeit minimal) which will increase as the number of players on the server increases
    #   if multiple plugins utilize the actionBar
    #   refresh, disabling the actionBar refresh will cause the actionBar to change for 2 seconds or so before disappearing since the scheduled task will not be refreshing each players actionBar
    #   refreshRate, the time in ticks for the scheduled task to update each players actionBar. If your actionBar is flashing then decrease this value
    actionBar
    :
      refresh
    : true
      refreshRate
    : 35

    # Default values for players that have not run the "/horse auto"  or  "/horse display"  commands.
    defaults
    :
     # Should the plugin auto display horse information when the Player mounts a horse by default for players that have not modified their personal settings
      # Display Type should be 1, 2, 3 or 4
        # 1 = Short single line displaying the Speed, Jump height and Max Health scores on a single line
        # 2 = Medium this will have 4 lines with Overall rating, Speed, Jump and Max Health lines
        # 3 = Long this will display the same information as the "/horse stats" command
        # 4 = Always this will display the Short/condensed view over the players health bar and on screen at all times
      autoDisplayHorseInfo
    :
        enabled
    : true
        displayType
    : 4
        onlyAutoDisplayForTamedHorses
    : false

    # These are the horse min/max values use in calculating the display. The delivered values are set to the default Minecraft min/max values from minecraft.gamepedia.com/horse. If you utilize any plugins that allow for values that go above or below these ranges you could adjust these if you wish
    # Changing these values will NOT affect the values your horses can receive in game.
    calculations
    :
      speed
    :
        min
    : 0.1125
        max
    : 0.3375
      jump
    :
        min
    : 0.4
        max
    : 1.0
      maxHealth
    :
        min
    : 15
        max
    : 30

    # Config regarding how the horse data is displayed. If you want to reset the config and go back to the default use command: /horse resetconfig
    # showHorseEntityTypePrefix - Should the line start with the name of the Entity you are riding? Ex: 'Horse', 'Mule', 'Donkey'
    # showRawData - Should the line include the "(Raw: 0.####)" section? This section directly displays the actual value from Minecraft except for the 'overall' section where it displays the score out of 100 points
    # showPercent - Should the line include the percent perfect? This will calculate how perfect the individual stat is based on the min/max value (I deliver these defaulted to the Minecraft min/max defaults)
    # Symbols accept a character or a unicode number. The unicode number of often represented like "U+2665" or "\u2665", for this example you will want to put into the config 2665. One website you can use to find symbols is: https://www.rapidtables.com/code/text/unicode-characters.html
      # fullSymbol - Think of this as a progress bar full icon. If a horse rating is 7/10 it will display 7 of these symbols then 3 of the emptySymbol
      # emptySymbol - See above
    # measurement - Text to describe the displayed measurement which is displayed before the Raw text (Note overall has no measurement data and the ##/100 displayed is the Raw data)
    # addBlankChatLineAfter - For the condensed auto display should we send a single blank line after the horse info. The player might have an armor bar that covers part of the chat box making it hard to read
    # *** WARNING DO NOT PUT UNICODE SYMBOLS INTO THE CONFIG, USE THE UNICODE NUMBER INSTEAD ***
    display
    :
      text
    :
       # Configure the Auto display condensed/short/Display type 1 display ex: BlackDots(Black) [>>>>>>>>>>][*****][**********]
        # This also controls the display of the action bar if you have enabled it
        #   The condensed view has its own options for controlling the display of speed/jump/max health so that the command /horse stats can display the information differently
        condensed
    :
          showHorseEntityTypePrefix
    : false
          showOwnerName
    : false
          showMarkings
    : false
          showSpeed
    : true
          showJumpBlocks
    : true
          showMaxHealth
    : true
          showPercentSpeed
    : true
          showPercentJump
    : true
          showPercentMaxHealth
    : true
          percentText
    : '% '
          addBlankChatLineAfter
    : false
        # Markings are the values that determine which horse texture you see in game. At this time markings/color only pertain to Horses. This section mostly pertains to Display type medium/long
        #===================================================================================================================
        # Text replacement for line: <OwnerName> <HorseEntityType> - Markings: BlackDots(ChestNut): [***********] ##% ##/100
        #===================================================================================================================
        markings
    :
          showHorseEntityTypePrefix
    : true
          showOwnerName
    : true
          prefix
    : ' - Markings: '
          showColor
    : true
          showMarkings
    : true
        #===================================================================================================================
        # Text replacement for line: Overall: [***********] ##% ##/100
        #===================================================================================================================
        overall
    :
          showHorseEntityTypePrefix
    : false
          prefix
    : 'Overall: '
          fullSymbol
    : '2605'
          emptySymbol
    : '2606'
          measurement
    : ' '
          percentText
    : '%'
          showPercent
    : true
          showRawData
    : false
        #===================================================================================================================
        # Text replacement for line: <HorseEntityType> Speed: [>>>>>>>>>>] ##% ##.## Blocks/s (Raw: 0.####)
        #===================================================================================================================
        speed
    :
          showHorseEntityTypePrefix
    : false
          prefix
    : 'Speed: '
          fullSymbol
    : '00BB'
          emptySymbol
    : '00BB'
          measurement
    : ' Blocks/s'
          percentText
    : '%'
          showPercent
    : true
          showRawData
    : false
        #===================================================================================================================
        # Text replacement for line: <HorseEntityType> Jump Block: [*****] ##% ##.## Blocks (Raw: 0.####)
        #===================================================================================================================
        jump
    :
          showHorseEntityTypePrefix
    : false
          prefix
    : 'Jump Blocks: '
          fullSymbol
    : '25A0'
          emptySymbol
    : '25A1'
          measurement
    : ' Blocks'
          percentText
    : '%'
          showPercent
    : true
          showRawData
    : false
        #===================================================================================================================
        # Text replacement for line: <HorseEntityType> Max Health: [**********] ##% (Raw: 0.####)
        #===================================================================================================================
        maxHealth
    :
          showHorseEntityTypePrefix
    : false
          prefix
    : 'Max Health: '
          fullSymbol
    : '2665'
          emptySymbol
    : '2661'
          measurement
    : ''
          percentText
    : '%'
          showPercent
    : true
          showRawData
    : false
        # Configure the display of Raw data for all sections. roundDigits is the number of decimal places to round the raw number to. 2 for example would give a number like 0.12 where 4 would give 0.1234
        raw
    :
          text
    : 'Raw: '
          roundDigits
    : 3
     

    Commands
    To view the hidden stats of the horse simply mount the horse and utilize one of the below commands.

    Command:
    /horse stats or /horse speed
    SimpleHorseInfoStats.png

    Auto Chat
    If the user has permission to horse.auto then the user can override the default server Auto chat display text for themselves using this command. Their user preference is stored in the playerData.yml file.

    Auto Chat display 1 or short
    Command: /horse auto enable 1 or /horse auto enable short
    SimpleHorseInfoAutoTextShort.png
    Auto Chat display 2 or medium
    Command: /horse auto enable 2 or /horse auto enable medium
    SimpleHorseInfoAutoTextMedium.png
    Auto Chat display 3 or long
    Command: /horse auto enable 3 or /horse auto enable long
    SimpleHorseInfoStats.png
    Auto Display 4 or always displays in the action bar instead of the chat box
    Command: /horse auto enable 4 or /horse auto enable always
    [​IMG]
    To disable the chat message:
    Command: /horse auto disable

    To view the entire list of commands and their usage run the /horse help command:
    SimpleHorseInfoCommandHelp.png

    Permissions
    Permissions can be viewed in game by running the /horse permissions command:
    SimpleHorseInfoPermissions2.png
    Code (YAML):
     horse.enable:
        description
    : Grants permission overall permission to this plugin functionality. All commands will require this permission. If you set the autoDisplayHorseInfo.enabled to true then this permission will allow you to configure which users see the auto display
        default
    : true
      horse.admin
    :
        description
    : Grants permission to admin commands
        default
    : op
      horse.update.notify
    :
        description
    : Grants permission to receive a notification in game chat when you log into the server about a new update to the plugin
        default
    : op
      horse.cheat
    :
        description
    : Grants permission to cheat commands
        default
    : false
      horse.help
    :
        description
    : Grants permission to the help command
        default
    : true
      horse.stats
    :
        description
    : Grants permission to display horse stats
        default
    : true
      horse.info
    :
        description
    : Grants permission to display additional horse stats
        default
    : op
      horse.auto
    :
        description
    : Grants permission to toggle automatic display of horse stats on mount for themselves
        default
    : true
      horse.*
    :
        description
    : Grants all perms
        default
    : false
        children
    :
          horse.enable
    : true
          horse.admin
    : true
          horse.update.notify
    : true
          horse.help
    : true
          horse.stats
    : true
          horse.info
    : true
          horse.auto
    : true
     

    Horse direction fix
    The config setting horseFix.changeHorseFacingToMatchPlayerOnMount can be enabled to automatically rotate the horse to the direction your are facing when you mount the horse (On by default). This removes the disorientating camera change when you mount the horse.
    [​IMG]

    Cheat
    I included a command for setting the raw values for the horse you are currently riding. By default the horse.cheat permission is disabled even for players with op. This permission must be granted in order to utilize this command. I place a min/max cap on the values since some values cause significant server lag. Use this command at your own risk and I recommend testing values on a test server.

    TODO
    1. Add in color support for text from the config
    2. Language translate for permission/command text string. Hopefully the new config settings will cover the displayed text.

    Additional information
    This plugin utilizes bStats for collecting basic plugin metrics. For more information see bstats.org

    ***If you run into any issues please make a post in the Discussion page.***

    Checkout my other plugins
    If you like statistics in Minecraft you might be interested in my other plugin SimpleToolStats for tracking and displaying statistics about Tools and Weapons: https://www.spigotmc.org/resources/simpletoolstats.81854/

    Images

    1. SimpleHorseInfoActionBar.png
    Kaiz3r and ATMmachine like this.

Recent Reviews

  1. Gustavo_Player
    Gustavo_Player
    5/5,
    Version: 2.2
    Amazing plugin. =D
  2. Potato_IQ
    Potato_IQ
    5/5,
    Version: 2.1
    Simple but an outstanding and actually helpful addition to any server. Doesn't take any resources from your server. Love how easy it is to configure it to your liking.