KarmaAPI icon

KarmaAPI -----

Create commented yaml files, custom files, log files and much more, using this free API




This update is not an update, but a correction to fix the download file
----------, Aug 22, 2023

This update applies all the changes made on the main github repository.
KarmaDeb/KarmaAPI at 1.3.4 (github.com)
----------, Mar 22, 2023

Almost all the API has been re-worked, I suggest taking a look at the javadocs as you can see better what has been removed, what is new and what has been moved
----------, Dec 21, 2021

Made SourceSimpleTimer period time of 1 ms and created SourceSecondsTimer
----------, Jul 15, 2021

Changes:
  • Deprecated AdvancedSimpleTimer
  • Created SimpleScheduler
  • Added SourceSimpleTimer, which should be used now instead of AdvancedSimpleTimer.

SourceSimpleTimer
Stops himself automatically when the source owner jar file gets un-loaded plus Source SimpleTimer is more consistent and has a better structured API than AdvancedSimpleTimer

For more info read the javadocs
----------, Jul 15, 2021

Fixed some file API problems and AdvancedSimpleTimer problems
----------, Jul 12, 2021

Changes
  • Fixed a very anoying bug with persistent holograms, they were not able to be removed, lines weren't working as they should and they were not able to be removed ( only by leaving and joining the server again )
  • Added KarmaHologra#teleport and KarmaHologram#loadAllPersistent
----------, Jun 21, 2021

What's new in this version?
  • Added hologram API
  • Added much more things to version utils reflection utiles ( see javadocs for more info )
What has changed?
  • Renamed AdvancedPluginTimer to AdvancedSimpleTimer
  • AdvancedSimpleTimer now requires a KarmaSource to run
  • Added KarmaSource#stopTasks which will stop all the KarmaSource running tasks
----------, Jun 20, 2021

What's new in this version?
  • Moved almost everything to common package, which means this update is not compatible with older KarmaAPI versions
  • Added KarmaYamlManager, replacing YamlManager, KarmaYamlManager is more powerfull than YamlManager, as it contains a better system to manage your yaml files

I recommend you to check javadocs to see the new packages and constructors
----------, Jun 12, 2021

Fixed:
  • Fixed BossMessage progressive HP bars, when they reach max health, or min health it would throw an error
  • Fixed BungeeCord FileCopy was creating folder instead of file
  • Fixed BungeeCord boss bar removal ( wasn't working sometimes )
  • Fixed ReflectionUtil#getName and KarmaAPI#getters#getName was returning plugin version for bukkit and bungee
  • Fixed StringUtils was throwing errors with no scaped replaces in StringUtils#replaceLast

Added:
  • Added StringUtils#escapeString
  • Added StringUtils#unEscapeString
----------, Jun 1, 2021

Fixed StringUtils#serialize and StringUtils#load were not working property, with this fix I also modified #load to return object instance, and added loadUnsafe which returns the casted object to the required type
----------, May 19, 2021

Fixed a problem in FileCopy, in where files were being created as directories
----------, May 17, 2021

Fixed the API was creating files replacing file path spaces with %20
----------, May 16, 2021

This API update contains these changes:
  • Fixed boss bar was not working in velocity
  • Fixed file coppier was not working in velocity
  • Fixed jar injector was not working in velocity
  • Fixed reflection util was not ready for Velocity reflection
----------, May 3, 2021

In the previous version, I added velocity support, but methods were using Plugin annotation, instead of PluginContainer object
----------, May 2, 2021

This API update contains velocity support.

Velocity version API is the same as BungeeCord API, with the difference it requires to run a method before doing anything

Code (Java):
Util util = new Util (velocityPluginInstance ) ;
util. initialize ( ) ;
----------, May 2, 2021

Like 5 minutes ago, I released an API update, which adds support to RGB parser, that version was suposed to parse #ff0000 like format, and rgb(XXX,XXX,XXX) like format, but it was only parsing hex format (#ff0000)

This version fixes it.
----------, May 2, 2021

This update has BungeeCord boss bar support ( using @MrIvanPlays's BossBar API, a little bit modified ).

This update also contains RGBTextComponent class, which parses for you the rgb color codes of a message and returns it completely read-able and rgb-colored ( it should parse hex and rgb, but it only can parse hex for now )

Hex: #XXXXXX
RGB: (XXX,XXX,XXX)
----------, May 2, 2021

The boss bar was already pretty good, but now is even better.

I implemented a BossMessage#progress, with 3 types of progress:
  • UP ( from 0 health, to max health )
  • DOWN ( from max health, to 0 )
  • NONE ( default: do nothing with the health )
I also added a BossMessage#cancel method, which will cancel the boss bar. With this addition, I implemented a BossMessage#isCancelled, which will set to false automatically ( if true ), when calling the method BossMessage#scheduleBar

I modified BossMessage#update(String) to BossMessage#update(String, boolean). If true, the boss removal timer will restart, otherwise, it will just change the boss message.

For detailed info, read the new javadocs
----------, Apr 27, 2021

What's fixed?
  • Fixed logger was only checking main log file size
  • Fixed GlobalKarmaFile getList was returning unmodificable abstract list
What's new?
  • Added YamlManager
----------, Apr 17, 2021

As this API is just to help in bukkit and bungee development, and shouldn't not be restricted to that, I've made some changes that allows no plugins to use more API methods, like FileCopy or Console
----------, Apr 12, 2021

This update adds AdvancedPluginTimer to BungeeCord
----------, Apr 9, 2021

What's fixed?
  • Fixed karma file lists were returning abstract lists, which one can't be modified
Which are the changes?
  • Karma file getKeySet has been changed with getKeys(boolean deep)
  • StringUtils#replaceLast now allows you to select wath character replace with
----------, Apr 2, 2021

JarInjector isDownloaded method will now return if the jar file exists, instead of checking if has been downloaded in the current jvm runtime
----------, Mar 31, 2021

What's in this 1.0.9 version?
  • StringUtils#toColor(List<String> lines)
  • StringUtils#stripColor(List<String> lines)
  • StringUtils#getLastColor(List<String> lines, int index)
  • StringUtils#formatString(String text, Map<String, Object> replaces)
  • Logger#setMaxSize(int max)
  • Logger#scheduleLog(Level.<Level>, String info, Object... replaces)
----------, Mar 30, 2021

What does this API version include?

  • Added
    • BossMessage
      • isValid()
      • update("")
      • getBarId()
      • getTitle()
      • getColor()
      • getStyle()
      • BossMessage.getters.getByID(0)
----------, Mar 28, 2021

Fixed boss bar was detecting legacy when not, and was not detecting legacy while in legacy version
----------, Mar 27, 2021

Fixed
  • ReflectionUtil$getVersion
  • KarmaPlugin#getters$getVersion

Changed
KarmaPlugin#getters$getVersion and KarmaPlugin#getters$getName now requires a plugin instance instead of main class instance
----------, Mar 27, 2021

Fixed ReflectionUtil getVersion and KarmaPlugin.getters.getVersion annotation. This fix comes with a change on the KarmaPlugin.getters.getVersion and getName method. Now they require a plugin instance, instead of the plugin main class
----------, Mar 27, 2021

Splitted API into 4 modules:
  • KarmaAPI-Bukkit ( Made only for bukkit and its forks )
  • KarmaAPI-Bungee ( Made only for bungee and its forks )
  • KarmaAPI-Common ( Needed for bukkit and bungee )
  • KarmaAPI-Bundle ( Contains spigot, bungeecord and common)
This version also changes a lot API location

> ml.karmaconfigs.api.bukkit ( ml.karmaconfigs.api.spigot )
> ml.karmaconfigs.api.common ( ml.karmaconfigs.api.shared )
----------, Mar 26, 2021

Changes:
  • Changed random string to now generate numbers, capitals or lowers on it

What's new
  • Added toColor with some other bukkit objects, like item stacks, books etc...
----------, Mar 20, 2021

Fixed:
  • Fixed ServerVersion for servers with spigot > 1.16.3
  • Fixed abstract lists for KarmaFile in spigot

What's new?
  • KarmaPlugin will now read plugin description for name and version if no specified
  • Added isOver and isUnder in ServerVersion
  • Added GlobalKarmaFile
  • Made StringUtils shared
  • Added new utilities to StringUtils
----------, Feb 22, 2021

Fixed:
  • Files problems
  • ActionBar colors
  • Other fixes
New features:
  • ItemStack serializer
----------, Jan 24, 2021

Improvements:
  • Spigot and Bungeecord now both allow logs with .md, they will show extra plugin, server and system information on top log
  • KarmaFile now supports comments, they must start with "/// " and end with " -->" ( /// MY COMMENT --> )
  • KarmaFile has now a getKeySet() which will return all the keys and key sets of the file
Fixes:
  • Tried to fix a bug with files generation
----------, Jan 4, 2021

Fixed:
  • This version tries to fix empty files problem on both, bukkit and bungee
----------, Dec 31, 2020

Fixes:
  • Fixed a bug with files
New features:
  • Added MarkDown file generation to log system, to make your plugin generate logs using .md ( will add additional system and plugin info to the log ) simply use new Logger().setLogsException(LogExtension.MARKDOWN)
----------, Dec 29, 2020

Fixed KarmaYaml configuration sections were always re-generating
----------, Nov 27, 2020

Now the yaml files can contain longer values, your .yml files won't break with larger values!
----------, Nov 24, 2020

Fixed the API for some BungeeCord methods
----------, Nov 22, 2020

Added JarInjector to bungeecord
----------, Nov 21, 2020

Fixed FileCopy was throwing error when creating files inside inexistent folders, instead of creating them
----------, Nov 5, 2020

Finally fixed section arrays and file generation method, now it generates the .yml file without any exception
----------, Oct 10, 2020

This API version includes "KarmaFile" module, which one will allow you to create any kind of file, like a ".region" or ".player" and easily readable by anyone ( KarmaFile have been in the API since 1.5, but it was under beta and I don't recommend to use KarmaFile in 1.5 )
----------, Oct 9, 2020

Improved yaml with comments generation system, fixed configuration sections, but the YamlFixer (search for bad formatted values in the file) have been removed due the new changes
----------, Oct 5, 2020

This version inclues inventory serialization and sound reflection
----------, Oct 3, 2020

This version inclues inventory serialization and sound reflection
----------, Oct 3, 2020

Finally fixed KarmaYaml files generator ( was generating an empty file )
----------, Oct 2, 2020

This API version fixes yaml module was throwing an exception after first creation, it also inclues a jar injector and ConsoleBroadcaster class, that will send a message to spigot console if avaiable and Bungee console if available
----------, Sep 27, 2020

When using 1.1 API version you will be able to use getObcClass from ServerVersion module
----------, Sep 27, 2020

Resource Information
Author:
----------
Total Downloads: 6,537
First Release: Sep 26, 2020
Last Update: Aug 22, 2023
Category: ---------------
All-Time Rating:
1 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings