Adds Vault integration
Adds the EconomyManager class for handling Vault payments Adds the unfinished PermissionManager class for granting permissions through Vault Adds the GPLv3 license Fixes dependencies Adds some code for withdrawing money and granting permissions when a sign is clicked Changes cost to a double to be compliant with Vault
This commit is contained in:
@ -5,11 +5,17 @@ import net.knarcraft.permissionsigns.command.PermissionSignsTabCompleter;
|
||||
import net.knarcraft.permissionsigns.container.PermissionSign;
|
||||
import net.knarcraft.permissionsigns.container.SignCreationRequest;
|
||||
import net.knarcraft.permissionsigns.formatting.Translator;
|
||||
import net.knarcraft.permissionsigns.manager.EconomyManager;
|
||||
import net.knarcraft.permissionsigns.manager.PermissionManager;
|
||||
import net.knarcraft.permissionsigns.thread.SignCreationRequestTimeoutThread;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
import org.bukkit.plugin.ServicesManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitScheduler;
|
||||
|
||||
@ -126,12 +132,28 @@ public final class PermissionSigns extends JavaPlugin {
|
||||
//player.addAttachment(this, "essentials.fly", true, seconds * 20);
|
||||
//Vault probably has some API to add permissions
|
||||
|
||||
//TODO: Store all temporary permissions with the time they were assigned and the time they should be granted.
|
||||
// Set the permissions as permanent and remove when the timer expires? Might cause problems for players that has
|
||||
// the permission inherited, unless we make sure the player does not have the permission before
|
||||
// Alternatively: Manage all permissions ourselves, for temporary permissions, and add permission attachments
|
||||
// on startup I guess.
|
||||
|
||||
//TODO: Start sign creation when the create command is used and save the data until an empty sign is right-clicked
|
||||
|
||||
//TODO: Check for existence of old permission signs when clicked and register them as new permission signs. If
|
||||
// it has the permissionSigns header and a name matching contents in signs.yml, add it.
|
||||
|
||||
//Check if vault is loaded
|
||||
ServicesManager servicesManager = this.getServer().getServicesManager();
|
||||
RegisteredServiceProvider<Permission> permissionProvider = servicesManager.getRegistration(Permission.class);
|
||||
RegisteredServiceProvider<Economy> economyProvider = servicesManager.getRegistration(Economy.class);
|
||||
if (permissionProvider != null && economyProvider != null) {
|
||||
EconomyManager.initialize(economyProvider.getProvider());
|
||||
PermissionManager.initialize(permissionProvider.getProvider());
|
||||
} else {
|
||||
throw new IllegalStateException("[PermissionSigns] Error: Vault could not be loaded");
|
||||
}
|
||||
|
||||
Translator.loadLanguages("en");
|
||||
registerCommands();
|
||||
BukkitScheduler scheduler = Bukkit.getScheduler();
|
||||
|
Reference in New Issue
Block a user