MongoDB API

This project is abandoned and its default file will likely not work with the most recent version of Minecraft. Whether this project is out of date or its author has marked it as abandoned, this project is no longer maintained.

MongoDB API

Purpose

  • Centralized, single MongoClient instance per server.
  • Construction of, and Dismantlement, of the client on reloads. (Reduces chance of memory leak)
  • May remove the necessity of a META-INF file used to link the mongodriver.jar to the server
  • Or remove the necessity of sealing the mongodriver.jar into your plugin.

API

This is an example on how you can use the MongoAPI with your plugin:

package com.zombiehippie.bukkit.playertracker;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

import com.inkblur.bukkit.mongodb.MongoHook;
import com.mongodb.BasicDBObject;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;

public class PlayerTracker extends JavaPlugin implements Listener {
	DBCollection playerColl;
	@Override
	public void onEnable(){
		playerColl = MongoHook.getCollection(this, "playerdata");
		PluginManager pm = getServer().getPluginManager();
		pm.registerEvents(this, this);
	}
	private void update(PlayerEvent event, BasicDBObject updateDoc) {
		String playerName = event.getPlayer().getName();
		DBObject query = new BasicDBObject("name", playerName);
		if(playerColl.findOne(query) == null)
			playerColl.insert(query);
		playerColl.update(query, updateDoc);
	}
	@EventHandler
	public void onLogin(PlayerLoginEvent event) {
		update(event, new BasicDBObject("online",true));
	}
	@EventHandler
	public void onQuit(PlayerQuitEvent event) {
		update(event, new BasicDBObject("online",false));
	}
}

plugin.yml

name: PlayerTracker
description: Log player's online status to a MongoDB
version: 0.0.1
author: AZombieHippie
depends: [mongodb]

Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    72324
  • Created
    Jan 11, 2014
  • Last Released File
    Never
  • Total Downloads
    0
  • License

Categories

Members

Recent Files

No files uploaded yet.