@ -276,10 +276,22 @@ var server = org.bukkit.Bukkit.server;
if ( file . exists ( ) ) {
var parent = file . getParentFile ( ) ;
var reader = new java . io . FileReader ( file ) ;
var br = new java . io . BufferedReader ( reader ) ;
_ _engine . put ( "__script" , canonizedFilename ) ;
_ _engine . put ( "__folder" , ( parent ? _canonize ( parent ) : "" ) + "/" ) ;
var code = "" ;
try {
result = _ _engine . eval ( reader ) ;
if ( file . getCanonicalPath ( ) . endsWith ( ".coffee" ) ) {
var r = undefined ;
while ( ( r = br . readLine ( ) ) !== null ) code += "\"" + r + "\" +\n" ;
code += "\"\"" ;
var code = "load(__folder + \"../core/_coffeescript.js\"); var ___code = " + code + "; eval(CoffeeScript.compile(___code, {bare: true}))" ;
} else {
while ( ( r = br . readLine ( ) ) !== null ) code += r + "\n" ;
}
result = _ _engine . eval ( code ) ;
_loaded [ canonizedFilename ] = true ;
reader . close ( ) ;
} catch ( e ) {
@ -296,7 +308,7 @@ var server = org.bukkit.Bukkit.server;
/ *
recursively walk the given directory and return a list of all . js files
* /
var _list Js Files = function ( store , dir )
var _list Source Files = function ( store , dir )
{
if ( typeof dir == "undefined" ) {
dir = new java . io . File ( _originalScript ) . getParentFile ( ) . getParentFile ( ) ;
@ -305,9 +317,9 @@ var server = org.bukkit.Bukkit.server;
for ( var i = 0 ; i < files . length ; i ++ ) {
var file = files [ i ] ;
if ( file . isDirectory ( ) ) {
_list Js Files( store , file ) ;
_list Source Files( store , file ) ;
} else {
if ( file . getCanonicalPath ( ) . endsWith ( ".js" ) &&
if ( ( file . getCanonicalPath ( ) . endsWith ( ".js" ) || file . getCanonicalPath ( ) . endsWith ( ".coffee" ) ) &&
! ( file . getName ( ) . startsWith ( "_" ) ) &&
file . exists ( ) )
{
@ -348,10 +360,10 @@ var server = org.bukkit.Bukkit.server;
var _reload = function ( pluginDir )
{
_loaded = [ ] ;
var j sFiles = [ ] ;
_list JsFiles( js Files, pluginDir ) ;
var source Files = [ ] ;
_list SourceFiles( source Files, pluginDir ) ;
j sFiles. sort ( sortByModule ) ;
source Files. sort ( sortByModule ) ;
//
// script files whose name begins with _ (underscore)
@ -363,9 +375,9 @@ var server = org.bukkit.Bukkit.server;
// then it's assumed that _myMiniGame_currency.js and _myMiniGame_events.js will be loaded
// as dependencies by myMiniGame.js and do not need to be loaded via js reload
//
var len = j sFiles. length ;
var len = source Files. length ;
for ( var i = 0 ; i < len ; i ++ ) {
load ( _canonize ( j sFiles[ i ] ) , true ) ;
load ( _canonize ( source Files[ i ] ) , true ) ;
}
} ;