Skip to content

spnda/BlockProt

Repository files navigation

BlockProt

CurseForge Downloads Modrinth Downloads Spigot Downloads Spigot Rating Hangar Downloads BlockProt CI gitlocalized JitPack

Servers Players Discord

BlockProt is a lightweight Bukkit and Spigot plugin that gives players the ability to protect chests, furnaces and many more blocks. The plugin features a modern GUI approach instead of commands, so that any player can easily understand how to use all of its features.

image1

Installing

To use this plugin, you can simply download it from CurseForge, Modrinth or SpigotMC and place it in your plugins directory. You do not have to install anything else and any recent version will work with 1.14, 1.15, 1.16, 1.17 and 1.18. It runs on any Spigot and any fork thereof and does not run on CraftBukkit.

To get the latest updates the quickest, you can "watch" or "star" this repository or frequently check the Release tab. Alternatively, it is also possible to watch the resource on Spigot, which will also notify you as soon as new builds get released.


If you want to build the plugin from source yourself, you can simply do so by installing JDK 16 or newer, cloning this repository and running ./gradlew build in the main directory.

Translating

If you know a language that isn't supported by this plugin (yet) or found some translation error we'd love if you could translate for us!

You can do so easily by going to gitlocalize or sending me the translations on Discord.

Contact/Support

If you find bugs or any issues related to this plugin, please report them over on the GitHub issue tracker. If you require more support or want to ask questions, please use the Discord server for chatting.

Developing Addons

This plugin offers a basic API which other developers can use to add new features and provide support and compatibility with other plugins. BlockProt can be accessed via the jitpack.io repository.

Your build.gradle file may look like this:

repositories {
    maven 'https://jitpack.io'
}

dependencies {
    // This version might be slightly outdated. See https://github.com/spnda/BlockProt/releases.
    implementation 'com.github.spnda.BlockProt:blockprot-spigot:0.4.11'
}

From here on, you're good to go. We provide an easy to use BlockProtAPI class and other utility methods to easily add new functionality, with low amount of boilerplate. In the following examples you can see how to use that class.

// A BlockNBTHandler is a NBT Handler designed to lock blocks, add friends and edit other settings.
// This handler exists on a per-block basis.
BlockNBTHandler handler = BlockProtAPI.getInstance().getBlockHandler(block);

// The PlayerSettingsHandler is made to handle settings that are commonly accessible
// through the "/blockprot settings" command.
PlayerSettingsHandler playerHandler = BlockProtAPI.getInstance().getPlayerSettings(player);

We also offer a variety of events that you can listen to. For an up-to-date and more detailed list, see here. You can use these to block players from accessing some blocks based on custom conditions and much more. For even more fine grain control over events, you can write a PluginIntegration. A PluginIntegration is designed to be specific to a single other plugin and is only activated when the referenced plugin is actually loaded through Bukkit. It also provides utilities to quickly load a single config file and register listeners. BlockProt natively includes a plugin integration for Towny, which you can find here. You can freely use this as an example.

bStats

bStats Graph

License

BlockProt is licensed under GPLv3 license, view LICENSE to learn more.