Git Product home page Git Product logo

groupmanager's Introduction

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);
	}
}

groupmanager's People

Contributors

dependabot[bot] avatar elgarl avatar gayytis avatar henryhu2000 avatar jetelhudzum avatar kilca avatar octol1ttle avatar truerou avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.