#include "plugin.h" #include #include #include extern "C" { class EventsPlugin : public CppPlugin { public: virtual void onLoad(); virtual void onEnable(); virtual void onDisable(); virtual std::map getEvents(); }; void EventsPlugin::onLoad() { std::cout << "Events::onLoad();" << std::endl; } void EventsPlugin::onEnable() { std::cout << "Events::onEnable();" << std::endl; } void EventsPlugin::onDisable() { std::cout << "Events::onDisable();" << std::endl; } CppPlugin* init() { return new EventsPlugin(); } void eventJoin(JNIEnv* env, CppPlugin* pl, Event* e) { jstring msg = (jstring) e->getData(env, "joinMessage"); std::string jmsg(env->GetStringUTFChars(msg, 0)); std::cout << "join " << e->getName() << " old join message: " << jmsg << std::endl; jstring newmsg = env->NewStringUTF("Ein Spieler ist dem Spiel beigetreten!"); e->setData("joinMessage", newmsg); } void eventQuit(JNIEnv* env, CppPlugin* pl, Event* e) { std::cout << "quit " << e->getName() << std::endl; } std::map EventsPlugin::getEvents() { std::cout << "EventsPlugin::getEvents" << std::endl; std::map out; out.insert({"PlayerJoinEvent", eventJoin}); out.insert({"PlayerQuitEvent", eventQuit}); return out; } }//extern "C"