Moved VaultExamplePlugin to own repository

This commit is contained in:
Morgan 2011-06-28 20:58:45 -04:00
parent 875e5f980c
commit c8883727c8
6 changed files with 2 additions and 121 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

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