All Projects → ElgarL → GroupManager

ElgarL / GroupManager

Licence: GPL-3.0 License
The original permission plug-in for Spigot/Bukkit.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to GroupManager

Treasury
Modern, multi-platform library facilitating integrations with economies and more
Stars: ✭ 46 (+9.52%)
Mutual labels:  bukkit, spigot, spigotmc
StackMob-3
A plugin designed for bukkit servers, aiming to reduce the lag that both the server and players experience.
Stars: ✭ 23 (-45.24%)
Mutual labels:  bukkit, spigot, spigotmc
Osmium
Abstraction layer for Bukkit, Sponge and BungeeCord that allows for development on all platforms simultaneously.
Stars: ✭ 34 (-19.05%)
Mutual labels:  bukkit, spigot, spigotmc
Luckperms
A permissions plugin for Minecraft servers.
Stars: ✭ 1,100 (+2519.05%)
Mutual labels:  bukkit, spigot, permissions
LevelledMobs
Level-up mobs on your Spigot/Paper server, RPG-style!
Stars: ✭ 143 (+240.48%)
Mutual labels:  bukkit, spigot, spigotmc
dough
Library containing a lot of useful utility classes for the everyday Java and Spigot/Paper developer.
Stars: ✭ 26 (-38.1%)
Mutual labels:  bukkit, spigot, spigotmc
TradeShop
Unique, new, powerful Minecraft TradeShop plugin!
Stars: ✭ 18 (-57.14%)
Mutual labels:  bukkit, spigot, spigotmc
NovaGuilds
Minecraft guilds plugin
Stars: ✭ 23 (-45.24%)
Mutual labels:  bukkit, spigot
ParticleLib
一个用于Minecraft Particle的类库
Stars: ✭ 19 (-54.76%)
Mutual labels:  bukkit, spigot
NOPE
1.16 Minecraft AntiCheat
Stars: ✭ 27 (-35.71%)
Mutual labels:  spigot, spigotmc
ParticleLib
Multiversion spigot library supporting all particles and their data (1.8-1.18.2)
Stars: ✭ 156 (+271.43%)
Mutual labels:  bukkit, spigot
EnchantmentsEnhance
✨ EE is a game progression mechanism plugin for spigot.
Stars: ✭ 31 (-26.19%)
Mutual labels:  bukkit, spigot
KingdomsX
Battles for might, land and glory.
Stars: ✭ 24 (-42.86%)
Mutual labels:  bukkit, spigot
WorldGuardWrapper
A wrapper for the WorldGuard API that allows plugins to support both v6 and v7 APIs.
Stars: ✭ 21 (-50%)
Mutual labels:  bukkit, spigot
Valkyrie
一个面向中文社区的 Bukkit / Spigot 插件开发教程
Stars: ✭ 26 (-38.1%)
Mutual labels:  bukkit, spigot
SimpleClans
Full featured Clan system for Minecraft
Stars: ✭ 26 (-38.1%)
Mutual labels:  bukkit, spigot
SmartInventory
Moved to https://github.com/Infumia/InfumiaLib
Stars: ✭ 16 (-61.9%)
Mutual labels:  bukkit, spigot
DecentHolograms
A lightweight but powerful hologram plugin with many features and configuration options.
Stars: ✭ 54 (+28.57%)
Mutual labels:  bukkit, spigot
yamipa
Yet Another Minecraft Image Placing Addon
Stars: ✭ 19 (-54.76%)
Mutual labels:  bukkit, spigot
Islands
A spigot plugin for creating customisable home islands with different biomes. https://www.spigotmc.org/resources/islands-home-islands-system.84303/
Stars: ✭ 18 (-57.14%)
Mutual labels:  bukkit, spigot

GroupManager

The original permission plug-in for Bukkit/Spigot.

Wiki
https://elgarl.github.io/GroupManager/

Bug reports
https://github.com/ElgarL/GroupManager/issues

Support
Support my Dev work via PayPal - Donate.
Ask for assistance in the GroupManager Discord. https://discord.gg/BdGxVmu


To include Groupmanager as a dependency in your own plugins.

Add a repository in your pom.xml

   <repository>
       <id>jitpack.io</id>
       <url>https://jitpack.io</url>
   </repository>  

Then add as a dependency in your pom.xml

   <dependency>
       <groupId>com.github.ElgarL</groupId>
       <artifactId>groupmanager</artifactId>
       <version>2.9</version>
   </dependency>  

This sample class can be used in your plugin to access GroupManager.

import java.util.Arrays;
import java.util.List;

import org.anjocaido.groupmanager.GroupManager;
import org.anjocaido.groupmanager.dataholder.OverloadedWorldHolder;
import org.anjocaido.groupmanager.permissions.AnjoPermissionsHandler;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;

public class GMHook
{
	private GroupManager groupManager;
	private Plugin plugin;

	public GMHook(final Plugin plugin) {
		this.plugin = plugin;
	}

	public boolean hasGroupManager() {
		
		if (groupManager != null) return true;
			
		final PluginManager pluginManager = plugin.getServer().getPluginManager();
		final Plugin GMplugin = pluginManager.getPlugin("GroupManager");

		if (GMplugin != null && GMplugin.isEnabled()) {
			groupManager = (GroupManager)GMplugin;
			return true;
		}
		return false;
	}

	public String getGroup(final Player player) {
		if (!hasGroupManager()) return null;
		
		final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player);
		if (handler == null) return null;

		return handler.getGroup(player.getName());
	}

	public boolean setGroup(final Player player, final String group) {
		if (!hasGroupManager()) return false;
		
		final OverloadedWorldHolder handler = groupManager.getWorldsHolder().getWorldData(player);
		if (handler == null) return false;
		
		handler.getUser(player.getName()).setGroup(handler.getGroup(group));
		return true;
	}

	public List<String> getGroups(final Player player) {
		if (!hasGroupManager()) return null;
		
		final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player);
		if (handler == null) return null;
		
		return Arrays.asList(handler.getGroups(player.getName()));
	}

	public String getPrefix(final Player player) {
		if (!hasGroupManager()) return null;
		
		final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player);
		if (handler == null) return null;
		
		return handler.getUserPrefix(player.getName());
	}

	public String getSuffix(final Player player) {
		if (!hasGroupManager()) return null;
		
		final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player);
		if (handler == null) return null;
		
		return handler.getUserSuffix(player.getName());
	}

	/**
	 * Use Player.hasPermission
	 * 
	 * @param player
	 * @param node
	 * @return
	 */
	@Deprecated
	public boolean hasPermission(final Player player, final String node) {
		if (!hasGroupManager()) return false;
		
		final AnjoPermissionsHandler handler = groupManager.getWorldsHolder().getWorldPermissions(player);
		if (handler == null) return false;
		
		return handler.has(player, node);
	}
}
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].