use require-self for better consistency with external plugins

require("flying-squid").someLib instead of require("../someLib")
This commit is contained in:
Romain Beaumont 2015-12-10 01:25:33 +01:00
parent 3ec142d118
commit 865327b482
14 changed files with 25 additions and 25 deletions

View file

@ -1,4 +1,4 @@
var mcServer=require("../"); var mcServer=require("flying-squid");
mcServer.createMCServer({ mcServer.createMCServer({
"motd": "A Minecraft Server \nRunning flying-squid", "motd": "A Minecraft Server \nRunning flying-squid",

View file

@ -14,7 +14,7 @@
"flying-squid": "./app.js" "flying-squid": "./app.js"
}, },
"scripts": { "scripts": {
"prepublish": "gulp", "prepublish": "gulp && require-self",
"test": "mocha --reporter spec distTest" "test": "mocha --reporter spec distTest"
}, },
"keywords": [], "keywords": [],
@ -62,6 +62,7 @@
"gulp-sourcemaps": "^1.3.0", "gulp-sourcemaps": "^1.3.0",
"longjohn": "~0.2.8", "longjohn": "~0.2.8",
"mineflayer": "^1.5.2", "mineflayer": "^1.5.2",
"mocha": "~2.3.4" "mocha": "~2.3.4",
"require-self": "^0.1.0"
} }
} }

View file

@ -2,14 +2,17 @@ var mc = require('minecraft-protocol');
var EventEmitter = require('events').EventEmitter; var EventEmitter = require('events').EventEmitter;
var path = require('path'); var path = require('path');
var requireIndex = require('requireindex'); var requireIndex = require('requireindex');
var plugins = requireIndex(path.join(__dirname, 'lib', 'plugins'));
require('emit-then').register(); require('emit-then').register();
if (process.env.NODE_ENV === 'dev'){ if (process.env.NODE_ENV === 'dev'){
require('longjohn'); require('longjohn');
} }
module.exports = { module.exports = {
createMCServer:createMCServer createMCServer:createMCServer,
Behavior:require("./lib/behavior"),
Command:require("./lib/command"),
version:require("./lib/version"),
generations:require("./lib/generations")
}; };
function createMCServer(options) { function createMCServer(options) {
@ -26,6 +29,7 @@ class MCServer extends EventEmitter {
} }
connect(options) { connect(options) {
var plugins = requireIndex(path.join(__dirname, 'lib', 'plugins'));
this._server = mc.createServer(options); this._server = mc.createServer(options);
Object.keys(plugins) Object.keys(plugins)
.filter(pluginName => plugins[pluginName].server!=undefined) .filter(pluginName => plugins[pluginName].server!=undefined)

7
src/lib/generations.js Normal file
View file

@ -0,0 +1,7 @@
module.exports = {
'grass_field':require("./worldGenerations/grass_field"),
'diamond_square':require("./worldGenerations/diamond_square"),
'superflat':require("./worldGenerations/superflat"),
'all_the_blocks':require("./worldGenerations/all_the_blocks"),
'nether':require("./worldGenerations/nether")
};

View file

@ -1,4 +1,4 @@
var Behavior = require('../behavior'); var Behavior = require("flying-squid").Behavior;
module.exports.server = function(serv) { module.exports.server = function(serv) {
serv.behavior = new Behavior(serv); serv.behavior = new Behavior(serv);

View file

@ -1,5 +1,3 @@
var Vec3 = require("vec3").Vec3;
module.exports.player=function(player, serv) { module.exports.player=function(player, serv) {
player.commands.add({ player.commands.add({

View file

@ -1,4 +1,4 @@
var version = require("../version"); var version = require("flying-squid").version;
var windows = require("prismarine-windows")(version).windows; var windows = require("prismarine-windows")(version).windows;
var Item = require("prismarine-item")(version); var Item = require("prismarine-item")(version);

View file

@ -4,7 +4,7 @@ var Vec3 = require("vec3").Vec3;
var path = require('path'); var path = require('path');
var requireIndex = require('requireindex'); var requireIndex = require('requireindex');
var plugins = requireIndex(path.join(__dirname,'..', 'plugins')); var plugins = requireIndex(path.join(__dirname,'..', 'plugins'));
var Command = require('../command'); var Command = require('flying-squid').Command;
module.exports.server=function(serv,options) module.exports.server=function(serv,options)
{ {

View file

@ -1,4 +1,4 @@
var blocks=require("minecraft-data")(require("../version")).blocks; var blocks=require("minecraft-data")(require("flying-squid").version).blocks;
var Vec3 = require("vec3").Vec3; var Vec3 = require("vec3").Vec3;
module.exports.entity=function(entity){ module.exports.entity=function(entity){

View file

@ -1,4 +1,4 @@
var blocks=require("minecraft-data")(require("../version")).blocks; var blocks=require("minecraft-data")(require("flying-squid").version).blocks;
var Vec3 = require("vec3").Vec3; var Vec3 = require("vec3").Vec3;
var materialToSound = { var materialToSound = {

View file

@ -1,4 +1,4 @@
var version = require("../version"); var version = require("flying-squid").version;
var entitiesByName=require("minecraft-data")(version).entitiesByName; var entitiesByName=require("minecraft-data")(version).entitiesByName;
var entitiesById=require("minecraft-data")(version).entities; var entitiesById=require("minecraft-data")(version).entities;
var Entity = require("prismarine-entity"); var Entity = require("prismarine-entity");

View file

@ -1,17 +1,9 @@
var Vec3 = require("vec3").Vec3;
var spiralloop = require('spiralloop'); var spiralloop = require('spiralloop');
var Chunk = require('prismarine-chunk')(require("../version"));
var World = require('prismarine-world'); var World = require('prismarine-world');
var WorldSync = require("prismarine-world-sync"); var WorldSync = require("prismarine-world-sync");
var generations={ var generations=require("flying-squid").generations;
'grass_field':require("../worldGenerations/grass_field"),
'diamond_square':require("../worldGenerations/diamond_square"),
'superflat':require("../worldGenerations/superflat"),
'all_the_blocks':require("../worldGenerations/all_the_blocks"),
'nether':require("../worldGenerations/nether")
};
module.exports.server=function(serv,{regionFolder,generation={"name":"diamond_square","options":{"worldHeight":80}}}={}) { module.exports.server=function(serv,{regionFolder,generation={"name":"diamond_square","options":{"worldHeight":80}}}={}) {
generation.options.seed=generation.options.seed || Math.random()*Math.pow(2, 32); generation.options.seed=generation.options.seed || Math.random()*Math.pow(2, 32);

View file

@ -1,3 +1 @@
var mc = require("minecraft-protocol");
module.exports="1.8"; module.exports="1.8";

View file

@ -1,5 +1,5 @@
var net = require('net'); var net = require('net');
var mcServer=require("../"); var mcServer=require("flying-squid");
var settings = require('../config/default-settings'); var settings = require('../config/default-settings');
var mineflayer = require("mineflayer"); var mineflayer = require("mineflayer");
var assert = require('chai').assert; var assert = require('chai').assert;