Hi all, beginner here,

I'm trying to write a Minecraft plugin in Clojure, and use AOT so that the 
Minecraft server can load it right up. I've got this much going, and all as 
well. The server expect some of my functions in a class that I'm extending 
to use an appropriate annotation on the function.

How do I add these annotations? I've Googled around and see that it looks 
like support for this was added back in 2010, so I'm sure it's possible. 
Maybe I've seen the solution but didn't realize that it was a solution. 
Clojure still looks pretty alien to me, so crazy things like this are rough 
to search for and realize when the answer is in front of me.

For example, the Java document for the Minecraft server says that my 
function should conform to the following definition:

```

@EventHandlerpublic void onPlayerLogin(PlayerLoginEvent event) {
    // Your code here...}

```


I've got the following Clojure code that the server will actually load and it 
will call the `onEnable` and `onDisable` function here, but the one that 
requires the annotation does not get called.


```

(ns com.github.ryancole.bukkit.hello-world
  (:import [org.bukkit Bukkit])
  (:gen-class :extends org.bukkit.plugin.java.JavaPlugin
              :name com.github.ryancole.bukkit.hello-world.Hello
              :prefix hello-))

(defn hello-onEnable [this]
  (.info (.getLogger this) "hello world has been enabled"))

(defn hello-onDisable [this]
  (.info (.getLogger this) "hello world has been disabled"))

(defn hello-onPlayerLogin [this evnt]
  (.info (.getLogger this) "player logged in"))

```


Any ideas?

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Reply via email to