Minecraft Scala Plugin API mod 2026 download
logo
minecraft mod Scala Plugin API

Scala Plugin API

Game Version: CB 1.4.7-R0.1
Total Downloads: 4,132
Updated: Jan 21, 2013
Created: Dec 26, 2012
Download Scala Plugin APIDownload Earlier Versions

Earlier Versions

Name Size Uploaded Game Version Downloads
scala-plugin-api_2.10-0.3.0.jar release 477.23 KB Jan 21, 2013 CB 1.4.7-R0.1 847 download Scala Plugin API scala-plugin-api_2.10-0.3.0.jar releaseDownload
scala-library-plugin-2.10.0.jar release 6.79 MB Jan 21, 2013 CB 1.4.7-R0.1 1,582 download Scala Plugin API scala-library-plugin-2.10.0.jar releaseDownload
scala-plugin-api_2.10-0.2.2.jar release 461.46 KB Jan 1, 2013 CB 1.4.6-R0.3 554 download Scala Plugin API scala-plugin-api_2.10-0.2.2.jar releaseDownload
scala-library-plugin-2.10.0-RC5.jar release 6.79 MB Jan 1, 2013 CB 1.4.6-R0.3 515 download Scala Plugin API scala-library-plugin-2.10.0-RC5.jar releaseDownload
scala-plugin-api-2.10.0-RC5-0.2.1.jar release 10.56 MB Dec 29, 2012 CB 1.4.6-R0.1 634 download Scala Plugin API scala-plugin-api-2.10.0-RC5-0.2.1.jar releaseDownload

Description

Share this:

Provides a library for writing server plugins in Scala. The plugins are vastly simpler to write than using the original Bukkit API in Java.

Update – This project now provides two plugins:

  • scala-library-plugin-2.10.0.jar
  • scala-plugin-api_2.10-0.3.0.jar

The first plugin provides Scala 2.10.0, so that plugins that depend on it can have scala on the classpath.

The second is an entire Scala Minecraft Server Plugin API that cleans up the Bukkit API very nicely, and allows for writing clean, declarative, immutable, and fun plugins.

The source for the project can be found here:
https://github.com/joshcough/MinecraftPlugins.

Examples

Listener example: LightningArrows

The following example demonstrates how to use listeners in Scala.
This plugin strikes an entity (any player or mob) with lightning if that entity is hit with an arrow:

import jcdc.pluginfactory.Listeners._
import org.bukkit.entity.EntityType.ARROW

class LightningArrows extends ListeningFor(OnEntityDamageByEntity { e =>
  if (e.getDamager isAn ARROW) e.world.strikeLightning(e.loc)
})

Commands example: Shock

The following example demonstrates how to write commands in Scala.
It has one command called "shock" which takes a player as input, and shocks that player with lightning.

import jcdc.pluginfactory.CommandPlugin

class Shock extends CommandPlugin {
  val command = Command("shock", "shock a player", player){
    case (you, them) => them.shock
  }
}

Other features

  • plugin.yml is automatically generated for you.
  • Advanced cube api for 3D world manipulation
  • Cleaner database connectivity
  • Cleaner logging api

Getting Started

A complete guide to getting started writing Scala plugins can be found here:
https://github.com/joshcough/MinecraftPlugins/wiki/Getting%20Started

More examples

Many, many more examples can be found here:
https://github.com/joshcough/MinecraftPlugins/tree/master/examples/src/main/scala/jcdc/pluginfactory/examples,
including Scala versions of WorldEdit, Multi Player Commands (a plugin that supports many of the
same commands as Single Player Commands), Warp, and more.

Scaladoc

The Scaladoc for the project can be found here:

http://joshcough.github.com/MinecraftPlugins/scaladoc

Comments

Add a comment