CharsApi 0.4.2

The ultimate blocks messages plugin

  1. Merbio

    [​IMG]
    If you like this plugin and you want to thanks for my sacrificed long time of hard work, you can doante me.
    Happy, with every single donation :)



    logo2.png

    About:

    This plugin allows player/developer to fast building colored messages by blocks. You can build chars with using default font (like Mineplex), or with system fonts intalled on your operating system or located in fonts folder in folder plugin. You can too build your chars with animation, what give you good effect and less lag by no instant setting blocks with bigger chars.

    CharsApi can be used to select place where we must go on example in lobby above portal tell about type of server ("Survival Server"), can be used in minigames to notify player how much is to start game, type of gameplay, players in game and etc. Generally you can inform player about everything you want, by using blocks.

    [​IMG]
    Video Tutorials:
    >>> ENGLISH

    • by Wukkit

    • by LtJim007
    >>> POLISH
    • by ServerKondzia (MinecraftKondziu)


    >>> GERMAN
    • by InselCraft

    Configuration:
    Plugin is Multi-lingual.
    Current translations:
    • English
    • Polish
    Rest of configure informations you can find in file.
    Images:
    1.Normal
    [​IMG]
    2.Fonts
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    3.Animations (Actual: 18 input, 6 output)
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    Installing fonts:
    Example web with fonts: http://www.dafont.com/

    1.Fonts
    a) On server:
    Open plugins > CharsApi > Fonts > put there your fonts​
    b) On local system (Windows):
    Open Control Panel > Fonts > drop there your font​
    2. Start Server
    Commands:
    Permission:
    • just a: "chars" ;]
    Aliases:
    • chars
    • char
    • ch
    Arguments:
    • build <string format> - building chars
    • clear <ID> - clear chars with that ID
    • clear all - clear all chars from map
    • list <page_number> - show you detected fonts
    • font default - set default builder font
    • font <size> <type_font> <name_font> - set builder font
      • type_font:
        • 0 - Normal
        • 1 - Bolded
        • 2 - Italic
      • name_font - name of font you can get from /ch list. On example "Agency FB"
    • animations <in / out> - show you builder <building/clearing> animations
    • vars - show list of variables
    • updater <updater_subcommand> - menager of auto updating chars
    Examples of using:
    • /ch build &2Welcome &fthere's &4Merbio
    • /ch clear 1
    • /ch font 38 1 Agency FB
    • /ch list 1
    • /ch updater create chars_spawn 9
    <Format>
    Default builder block is White Wool like subtitles on a chat. To change this in <format> you write text in that same way. &(0-9 and a-f)
    • /ch build &aGreen
      • Text "green" from green wool
    ,or plugin can choose random color
    • /ch build &XWelcome
      • Text "Welcome" from random color wool
    If u wanna an updater &X choose everytime diffrent color u can hack it by: writing anywhere %riuet% which will be replaced by nothing("") and will be reloading random colors.
    Example: /ch u add &Xrandomed%riuet%

    You can too change builded block, who you can colored with using character "#".

    • /ch build #c&1I am #p&5player
      • Text "I am(from blue clay) player(from purple glass pane)"
    Parameters:
    • C - clay
    • W - wool
    • G - glass
    • P - glass pane
    Plugin have some alternative blocks. &(g-m)
    • /ch build #cclay &gBlock
      • Text "clay (from white clay) Block(from bedrock)"
    In plugin is implemented variables system, you can use varibales by "%var_name%". % - var char you can configure in config.

    • /ch build Online: %online% / %maxplayers%
      • Example generated text: "Online: 4 / 20"
    You can too build chars with effect(input animation). You can change this with using character "@".
    • /ch build @4#g&aGreen Dragon
      • Animated Text "green dragon" from green glass
    You can clear animation with effect(output animation). You can change this with using character "!".
    • /ch build !1#c&8Drop Blocks
    • /ch clear <id_of_this_chars>
      • Dropping chars clearing animation effect ;]
    You can create multiple chars (texts "starting in new line") with use character "\n".
    • /ch build @6#g&aFirst Line\n@5#c&5Second Line
      • Line 1: Animated text "First Line" from green glass
      • Line 2: Animated text "Second Line" from purple clay
    You can add to yours chars overline with use character "$".
    • /ch build $w#c&4Car
      • Text "Car" from red clay with black wool overline
    Parameters: (similary like in color blocks)
    • C - Black Clay
    • W - Black Wool
    • G - Black Glass
    • P - Black Glass Pane
    • L - LightBlock - Glowstone
    Updater:
    Main args:
    /ch u <subcommand>
    Subcommands:

    • create <updater_name> <updated_time> - create updater
    • remove <updater_name> - remove updater
    • tpto <updater_name> - teleports player to updater
    • setloc - set updater location and facing
    • settime <updated_time> - set updater update time
    • add <text> - add text to update
    • del <id_text> - remove text from updater
    • info - information about actual updater (with texts id's)
    • list - updaters list
    • select <updater_name> - select updater to edit
    • flush - clear all updaters texts on air
    • start - starting updater
    • stop - stoping updater
    • save - saving updater
    Examples of using:
    Updater allows you to create auto-changing chars on your server.

    So, we want to create 3 chars changing in one place by 12 seconds.
    First you must to set settings of your builder like /ch font, becaouse updater will remeber this settings. You can combine fonts in updater.

    Code (Text):
    /ch u create n_spawn 12
    #When you create updater that he is auto-targeting /ch u select
    #so in next commands you musn't use updater_name in commands like /ch u add
    /ch u add @3#c&1Welcome
    /ch u add @3#c&2on
    /ch font 30 1 Agency FB
    /ch u add @3#c&3SPAWN&4!
    /ch u save
    Removing updater from meganger.
    Code (Text):
    /ch u remove n_spawn
    Changing location and facing updater to player location, and changing update time to 15.
    Code (Text):
    /ch u select n_spawn
    /ch u select n_spawn
    #second time to agree updater selection
    /ch u stop
    #Stop to plugin allows change updater settings
    /ch u setloc
    /ch u settime 15
    /ch u save
    #When we saving updater will be save + automatic starting ;] (/ch u start)
    Api Section:
    Blocks builder class.
    Class used to building your chars, that have settings like font, default font space, space over building location and etc.
    Code (Text):
    CharsBuilder builder = new CharsBuilder();
    Creating and removing chars.
    CharsString - this class is used to operating on your blocks message. That contains scheme of your text, informations like actual location, and functions, to on example delete this text.

    First you must to create scheme of your text:
    Code (Text):
    CharsString textCS = builder.replace("#cYour Text");
    Next you can to build this text by using builder:
    Code (Text):
    textCS = builder.build(buildLocation, spawnLocation, textCS);
    "build" function return new CharsString with remembered before blocks who was set to build message.
    First location is location were plugin will build text, second is location to were will be rotated text.

    You can to build text from players location and players facing:
    Code (Text):
    textCS = builder.build(player, textCS);
    Builder have too other "build" functions.

    Now we can to remove our text.
    Code (Text):
    textCS.clearChars();
    Changing builder settings.
    BlockSettings - class who contains builder settings.

    We can create new object of class with default options by:
    Code (Text):
    BlockSettings settings = new BlockSettings();
    ,or we can get actual builder settings (If settings of builder was not changed before, so have default settings of builder.
    Code (Text):
    BlockSettings settings = builder.getBlockSettings();
    If we have object of class, we can to modify him properties now:
    1. Default font blocks word spacing:
    Code (Text):
    settings.setWordSpacing(int);
    2.Default font blocks letter spacing:
    Code (Text):
    settings.setLetterSpacing(int);
    3.How many blocks over player will be builded chars:
    Code (Text):
    settings.setPlayerSpacing(int);
    4.Character of decoding color of blocks:
    Code (Text):
    settings.setColorChar(char);
    5.Character of decoding color blocks material:
    Code (Text):
    settings.setColoredBlockChar(char);
    6.Character of decoding input animation:
    Code (Text):
    settings.setInputAnimationChar(char);
    7.Character of decoding output animation:
    Code (Text):
    settings.setOutputAnimationChar(char);
    8.Add replacer character of material like "&g - bedrock":
    Code (Text):
    settings.addMaterialReplacement(char, Material);
    Character from '0-9,a-f' will be not working, becaouse colors haves, highter priority.

    9.Setting all list of replacer materials:
    Code (Text):
    settings.setMaterialReplacementList(HashMap<Character, Material>;
    10.Clearing list of replacer materials:
    Code (Text):
    settings.clearMaterialReplacementList();
    11.Changing blocade of building chars for only air blocks:
    Code (Text):
    settings.setOnlyAirBlocade(boolean);
    Default: true - blocking.

    12.Set building font:
    Code (Text):
    settings.setFont(java.awt.Font);
    and now we can set builder settings by our settings:
    Code (Text):
    builder.setBlockSettings(settings);
    in good way you can too do something like that:
    Code (Text):
    builder.setBlockSettings(new BlockSettings().setColorChar('$').setFont(new Font("Arial", 0, 20)).setPlayerSpacing(8).addMaterialReplacement('N', Material.SPONGE));
    Creating auto changing chars.
    CharsUpdater - that is class who manage your chars, and changing it.
    Code (Text):
    CharsUpdater updater = new CharsUpdater(int, org.bukkit.Location, org.bukkit.block.BlockFace);
    1. Seconds with updater change chars
    2. Location where he change chars
    3. Face - rotation with where he will building chars
    Adding chars to updater:
    Code (Text):
    int ID = updater.addCharsString(builder, String format);
    Chars will be builded with settings (font, spacing and etc.), like have your builder when you add chars.
    This function return Integer - ID of added chars.

    Removing chars:
    Code (Text):
    updater.removeCharsString(ID);
    Changing seconds of updating:
    Code (Text):
    updater.setSeconds(int);
    Changing location of updating:
    Code (Text):
    updater.setLocation(Location);
    Changing face chars:
    Code (Text):
    updater.setFacing(BlockFace);
    Checking about updater is working:
    Code (Text):
    updater.isRunning();
    And finaly:

    Staring updater:
    Code (Text):
    updater.start();
    Stoping updater:
    Code (Text):
    updater.cancel();
    I prefere everytime when you adding / changing something in updater stopping him, and after changes starting.​
    Adding variable to CharsAPI builders.
    Code (Text):
    public CharsVariable(String result, String... varNames)
    First String - String which will be returned
    Next Strings - names (aliases) of the variable
    Code (Text):
    CharsBuilder.addCharsVariables(
                    new CharsVariable("Hello World!", "hi world", "h w", "hw")
            );
    Code (Text):
    public CharsVariable(onVarCheck varCheck, String... varNames)
    First Object - Object executed on replacing variable name
    Next Strings - names (aliases) of the variable
    Code (Text):
    CharsBuilder.addCharsVariables(
                    new CharsVariable(new CharsVariable.onVarCheck() {
                        @Override
                        public String on() {
                            return getServer().getOnlinePlayers().length + " / " + getServer().getMaxPlayers();
                        }
                    }, "fullOnline", "fon")
            );
    Plugin have many more function and classes, but I describe most usefull ;]
    If you want to see its, use shorcuts "Alt + Space" on plugin clasess, or package "pl.merbio."
    Have fun with it!

Recent Updates

  1. Tps variables
  2. Support for 1.9
  3. Variables System

Recent Reviews

  1. Daniel_Sebesta
    Daniel_Sebesta
    5/5,
    Version: 0.4.2
    Please, add 1.13.2 support! It can be a very good plugin, but no support for newest versions... Thank you!
  2. ChillerKraft
    ChillerKraft
    5/5,
    Version: 0.4.2
    a little buggy but i think its works perfectly fine actually
    very useful! just gonna use it on my testing server and copy/schem/paste it to my other servers
    thankyou dev!
  3. nandoguissa
    nandoguissa
    3/5,
    Version: 0.4.2
    After use I realized that the TPS dropped and CPU increased considerably, this measuring with plugin "toplite" and "clearlag" also noticed a good increase in memory usage. is this right ? Does charsapi consume so much?
    1. Merbio
      Author's Response
      That's possible I don't say NO, project is very old, but I remember that I created him with purpose to help builders to make some of blocks text. Animations and etc. was maded just for fun and I wasn't sure that was worked at best way. People says that is very helpful only at builders server so I wasn't searching for possible failure, cause nobody report me that (maybe was not tested on any big server). I am not sure, to that all, that can be too yours server is not best quailty, or other plugin can be cause of memory devour.
  4. Ivencivel
    Ivencivel
    5/5,
    Version: 0.4.2
    -------------------------------------------------------------------
    I searching a long time!!!! =D, Good Plugin!
    -------------------------------------------------------------------
  5. Bunny_
    Bunny_
    4/5,
    Version: 0.4.2
    What a shame, it does not work in 1.11.2, I really would like to continue using it...........................
  6. Onenrico
    Onenrico
    5/5,
    Version: 0.4.2
    thank you so much for making this plugin
    i don't have money to donate to you sorry :(
    but i hope there is so much donate for this plugin
    because i know it takes hard work to make it
  7. Supremo1816
    Supremo1816
    5/5,
    Version: 0.4.2
    English (Google Translator):

    The plugin is great, easy to use, and very fast. I have not seen bugs , which is well programmed and hope you continue creating good plugins Merbio , what if you now send a private message with a small problem I have , but it has to do with failures plugin, Greetings !

    Español:

    El plugin es genial, fácil de usar, y muy rápido. No he visto bugs, con lo cual está bien programado y espero que sigas creando buenos plugins Merbio, lo que si ahora te enviare un mensaje privado con un pequeño problema que tengo, pero no tiene que ver con fallos del plugin, Saludos!
  8. xXTheCreepyBoyXx
    xXTheCreepyBoyXx
    5/5,
    Version: 0.4.2
    EPIC!!! Es fantastico ya que sirve para la gente que No sabe hacer letras con los bloques, gracias a CharsApi podemos!!! siuuuusiuu!!!! Jjajajajajaja ;:D
  9. GamerzKing
    GamerzKing
    5/5,
    Version: 0.3.3
    Great resource!

    Love the way you added so many elements to this plugin! It's extremely unique with the custom fonts, as well as the API feature for this plugin!

    This is great for developers, that want to code various different plugins, or for server owners who want to have a nice looking server!

    Thanks so much for creating this plugin,
    - GamerzKing
  10. fire__rain
    fire__rain
    5/5,
    Version: 0.3.2
    very very very goood