All Projects → MrMicky-FR → Fastboard

MrMicky-FR / Fastboard

Licence: mit
Simple Bukkit scoreboard API with 1.7.10 to 1.16 support.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Fastboard

Unifiedmetrics
Fully-featured metrics collection agent for Minecraft servers. Supports Prometheus and InfluxDB. Dashboard included out-of-box.
Stars: ✭ 29 (-53.23%)
Mutual labels:  api, minecraft, spigot, bukkit
Item Nbt Api
Add custom NBT tags to Items/Tiles/Entities without NMS!
Stars: ✭ 163 (+162.9%)
Mutual labels:  api, minecraft, spigot, bukkit
Xseries
Library for cross-version Minecraft Bukkit support and various efficient API methods.
Stars: ✭ 109 (+75.81%)
Mutual labels:  api, minecraft, spigot, bukkit
Blur
Minecraft Game Engine written in Java & Kotlin
Stars: ✭ 21 (-66.13%)
Mutual labels:  minecraft, spigot, bukkit
Confiscate
Discover duplication glitches, abusive staff giving items, x-ray or simply poor server economy.
Stars: ✭ 23 (-62.9%)
Mutual labels:  minecraft, spigot, bukkit
Libby
A runtime dependency management library for plugins running in Java-based Minecraft server platforms.
Stars: ✭ 36 (-41.94%)
Mutual labels:  minecraft, spigot, bukkit
Slimefun4
Slimefun 4 - A unique Spigot/Paper plugin that looks and feels like a modpack. We've been giving you backpacks, jetpacks, reactors and much more since 2013.
Stars: ✭ 369 (+495.16%)
Mutual labels:  minecraft, spigot, bukkit
Yatopia
The Most Powerful and Feature Rich Minecraft Server Software!
Stars: ✭ 408 (+558.06%)
Mutual labels:  minecraft, spigot, bukkit
Essentials
The essential plugin suite for Minecraft servers.
Stars: ✭ 957 (+1443.55%)
Mutual labels:  minecraft, spigot, bukkit
Mohist
Minecraft Forge Hybrid server implementing the Paper/Spigot/Bukkit API, formerly known as Thermos/Cauldron/MCPC+
Stars: ✭ 489 (+688.71%)
Mutual labels:  minecraft, spigot, bukkit
Viaversion
Allows the connection of newer clients to older server versions for Minecraft servers.
Stars: ✭ 463 (+646.77%)
Mutual labels:  minecraft, spigot, bukkit
Shopchest
ShopChest - Spigot/Bukkit Plugin
Stars: ✭ 38 (-38.71%)
Mutual labels:  minecraft, spigot, bukkit
Antilaby
AntiLaby plug-in for Bukkit
Stars: ✭ 6 (-90.32%)
Mutual labels:  api, minecraft, spigot
Minecraftdev
Plugin for IntelliJ IDEA that gives special support for Minecraft modding projects.
Stars: ✭ 645 (+940.32%)
Mutual labels:  minecraft, spigot, bukkit
Kspigot
Extended Spigot and Bukkit API for Kotlin
Stars: ✭ 35 (-43.55%)
Mutual labels:  api, spigot, bukkit
Minecraftdeveloperguide
📝Minecraft developer Chinese guide,我的世界开发者中文指南
Stars: ✭ 574 (+825.81%)
Mutual labels:  minecraft, spigot, bukkit
Akarin
Akarin is a powerful (not yet) server software from the 'new dimension'
Stars: ✭ 332 (+435.48%)
Mutual labels:  minecraft, spigot, bukkit
Luckperms
A permissions plugin for Minecraft servers.
Stars: ✭ 1,100 (+1674.19%)
Mutual labels:  minecraft, spigot, bukkit
Purpur
Purpur is a fork of Paper, Tuinity, and Airplane with the goal of providing new and interesting configuration options, which allow for creating a unique gameplay experience not seen anywhere else
Stars: ✭ 286 (+361.29%)
Mutual labels:  minecraft, spigot, bukkit
Authmereloaded
The best authentication plugin for the Bukkit/Spigot API!
Stars: ✭ 296 (+377.42%)
Mutual labels:  minecraft, spigot, bukkit

FastBoard

JitPack Discord

A Scoreboard API for Bukkit with 1.7-1.16 support.

Features

  • No flickering (without using a buffer)
  • Works with all version from 1.7.10 to 1.16.
  • Really small (around 500 lines with everything) and don't use any dependency
  • Easy to use
  • Dynamic scoreboard size: you don't need to add/remove lines, you can just give String list (or array) to change all the lines
  • Everything is at packet level, so it works with other plugins using scoreboard and/or teams
  • Can be use in an async thread (but is not thread safe yet)
  • Support up to 30 characters per line on 1.7-1.12
  • No characters limit on 1.13+
  • Support 1.16 custom hex colors

How to use

Add FastBoard in your plugin

Maven

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <relocations>
                    <relocation>
                        <pattern>fr.mrmicky.fastboard</pattern>
                        <!-- Replace with the package of your plugin ! -->
                        <shadedPattern>com.yourpackage.fastboard</shadedPattern>
                    </relocation>
                </relocations>
            </configuration>
        </plugin>
    </plugins>
</build>
<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>fr.mrmicky</groupId>
        <artifactId>FastBoard</artifactId>
        <version>1.1.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

Gradle

repositories {
    maven { url 'https://jitpack.io' }
}
dependencies {
    compile 'fr.mrmicky:FastBoard:1.1.0'
}

Manual

Just copy FastBoard.java and FastReflection.java in your plugin

Create a scoreboard

Just create a new FastBoard and update the title and the lines

FastBoard board = new FastBoard(player);

// Set the title
board.updateTitle(ChatColor.GOLD + "FastBoard");

// Change the lines
board.updateLines(
        "", // Empty line
        "One line",
        "", // Empty line
        "Second line"
);

Example

Just a small example plugin with a scoreboard that refresh every second :

package fr.mrmicky.fastboard.example;

import fr.mrmicky.fastboard.FastBoard;
import org.bukkit.ChatColor;
import org.bukkit.Statistic;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

public final class ExamplePlugin extends JavaPlugin implements Listener {

    private final Map<UUID, FastBoard> boards = new HashMap<>();

    @Override
    public void onEnable() {
        getServer().getPluginManager().registerEvents(this, this);

        getServer().getScheduler().runTaskTimer(this, () -> {
            for (FastBoard board : boards.values()) {
                updateBoard(board);
            }
        }, 0, 20);
    }

    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player player = e.getPlayer();

        FastBoard board = new FastBoard(player);

        board.updateTitle(ChatColor.RED + "FastBoard");

        boards.put(player.getUniqueId(), board);
    }

    @EventHandler
    public void onQuit(PlayerQuitEvent e) {
        Player player = e.getPlayer();

        FastBoard board = boards.remove(player.getUniqueId());

        if (board != null) {
            board.delete();
        }
    }

    private void updateBoard(FastBoard board) {
        board.updateLines(
                "",
                "Online: " + getServer().getOnlinePlayers().size(),
                "",
                "Kills: " + board.getPlayer().getStatistic(Statistic.PLAYER_KILLS),
                ""
        );
    }
}

TODO

  • Deploy to another maven repo
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].