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
|
||||||
Implementing Vault is quite simple through obtaining an instance through the
|
Implementing Vault is quite simple through obtaining an instance through the
|
||||||
Bukkit PluginManager class by using the string "Vault". An example plugin with
|
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:
|
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