mirror of https://github.com/MilkBowl/Vault.git
Moved VaultExamplePlugin to own repository
This commit is contained in:
parent
875e5f980c
commit
c8883727c8
|
@ -60,7 +60,8 @@ Github and we'll get to it at our convenience.
|
|||
## Implementing Vault
|
||||
Implementing Vault is quite simple through obtaining an instance through the
|
||||
Bukkit PluginManager class by using the string "Vault". An example plugin with
|
||||
limited functionality is located within the contrib folder.
|
||||
limited functionality is located within the VaultExamplePlugin repository
|
||||
(https://github.com/MilkBowl/VaultExamplePlugin).
|
||||
|
||||
Example:
|
||||
|
||||
|
|
Binary file not shown.
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0" ?>
|
||||
<project default="main">
|
||||
|
||||
<path id="classpath">
|
||||
<fileset dir="lib" includes="**/*.jar"/>
|
||||
</path>
|
||||
|
||||
<target name="main" depends="clean, compile, compress" description="Main target">
|
||||
<echo>Building the .jar file.</echo>
|
||||
</target>
|
||||
|
||||
<target name="clean" description="Cleans project">
|
||||
<echo>Cleaning</echo>
|
||||
<delete failonerror="false">
|
||||
<fileset dir="bin" includes="**/*" />
|
||||
</delete>
|
||||
<delete file="Example.jar" />
|
||||
<mkdir dir="bin"/>
|
||||
</target>
|
||||
|
||||
<target name="compile" description="Compilation target">
|
||||
<echo>Compiling</echo>
|
||||
<javac srcdir="." destdir="bin" debug="on" debuglevel="lines,vars,source" classpathref="classpath" />
|
||||
<copy file="plugin.yml" tofile="bin/plugin.yml" />
|
||||
</target>
|
||||
|
||||
<target name="compress" description="Compression target">
|
||||
<echo>Compressing</echo>
|
||||
<jar jarfile="Example.jar" basedir="bin" includes="com/**/*, plugin.yml, props/*">
|
||||
<manifest>
|
||||
<attribute name="Built-By" value="${user.name}" />
|
||||
</manifest>
|
||||
</jar>
|
||||
<delete dir="bin" />
|
||||
</target>
|
||||
</project>
|
Binary file not shown.
|
@ -1,12 +0,0 @@
|
|||
name: ExamplePlugin
|
||||
main: com.example.plugin.ExamplePlugin
|
||||
version: 0.0.0
|
||||
author: ExampleAuthor
|
||||
depend: [Vault]
|
||||
description: >
|
||||
Example Plugin demonstrating implementation of Vault.
|
||||
commands:
|
||||
test-economy:
|
||||
description: Tests Economy
|
||||
test-permission:
|
||||
description: Tests Permission
|
|
@ -1,72 +0,0 @@
|
|||
package com.example.plugin;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import net.milkbowl.vault.Vault;
|
||||
import net.milkbowl.vault.economy.EconomyResponse;
|
||||
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class ExamplePlugin extends JavaPlugin {
|
||||
|
||||
private static final Logger log = Logger.getLogger("Minecraft");
|
||||
private Vault vault = null;
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
log.info(String.format("[%s] Disabled Version %s", getDescription().getName(), getDescription().getVersion()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
Plugin x = this.getServer().getPluginManager().getPlugin("Vault");
|
||||
if(x != null & x instanceof Vault) {
|
||||
vault = (Vault) x;
|
||||
log.info(String.format("[%s] Enabled Version %s", getDescription().getName(), getDescription().getVersion()));
|
||||
} else {
|
||||
/**
|
||||
* Throw error & disable because we have Vault set as a dependency, you could give a download link
|
||||
* or even download it for the user. This is all up to you as a developer to decide the best option
|
||||
* for your users! For our example, we assume that our audience (developers) can find the Vault
|
||||
* plugin and properly install it. It's usually a bad idea however.
|
||||
*/
|
||||
log.warning(String.format("[%s] Vault was _NOT_ found! Disabling plugin.", getDescription().getName()));
|
||||
getPluginLoader().disablePlugin(this);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) {
|
||||
if(!(sender instanceof Player)) {
|
||||
log.info("Only players are supported for this Example Plugin, but you should not do this!!!");
|
||||
return true;
|
||||
}
|
||||
|
||||
Player player = (Player) sender;
|
||||
|
||||
if(command.getLabel().equals("test-economy")) {
|
||||
// Lets give the player 1.05 currency (note that SOME economic plugins require rounding!
|
||||
sender.sendMessage(String.format("You have %s", vault.getEconomy().format(vault.getEconomy().getBalance(player.getName()).amount)));
|
||||
EconomyResponse r = vault.getEconomy().depositPlayer(player.getName(), 1.05);
|
||||
if(r.transactionSuccess()) {
|
||||
sender.sendMessage(String.format("You were given %s and now have %s", vault.getEconomy().format(r.amount), vault.getEconomy().format(r.balance)));
|
||||
} else {
|
||||
sender.sendMessage(String.format("An error occured: %s", r.errorMessage));
|
||||
}
|
||||
return true;
|
||||
} else if(command.getLabel().equals("test-permission")) {
|
||||
// Lets test if user has the node "example.plugin.awesome" to determine if they are awesome or just suck
|
||||
if(vault.getPermission().hasPermission(player, "example.plugin.awesome", false)) {
|
||||
sender.sendMessage("You are awesome!");
|
||||
} else {
|
||||
sender.sendMessage("You suck!");
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue