From 5d0d9ceb115ec24929bc03b70ec7ffd63e1e6bec Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Wed, 9 Dec 2015 01:03:32 +0100 Subject: [PATCH] fix @e[type=Zombie] selector --- doc/API.md | 5 +++++ src/lib/plugins/commands.js | 2 +- src/lib/plugins/spawn.js | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/API.md b/doc/API.md index 60d3a9e..7ad598e 100644 --- a/doc/API.md +++ b/doc/API.md @@ -60,6 +60,7 @@ - [entity.world](#entityworld) - [entity.type](#entitytype) - [entity.entityType](#entityentitytype) + - [entity.name](#entityname) - [entity.nearbyEntities](#entitynearbyentities) - [entity.viewDistance](#entityviewdistance) - [entity.health](#entityhealth) @@ -424,6 +425,10 @@ Either "player", "mob", or "object" (currently) #### entity.entityType +Numerical type of the entity. + +#### entity.name + Sub-category of entity. For mobs, this is which mob (Zombie/Skeleton, etc). For objects, this is which object (Arrow/Dropped item, etc) #### entity.nearbyEntities diff --git a/src/lib/plugins/commands.js b/src/lib/plugins/commands.js index e5dbdf1..2363104 100644 --- a/src/lib/plugins/commands.js +++ b/src/lib/plugins/commands.js @@ -184,7 +184,7 @@ module.exports.server = function(serv) { if (!checkOption(opt.team, s.team)) return false; if (!checkOption(opt.name, s.username)) return false; - if (!checkOption(opt.type, s.type)) return false; // "type" option of selector needs fixing + if (!checkOption(opt.type, s.name)) return false; var fail = false; scores.max.forEach(m => { diff --git a/src/lib/plugins/spawn.js b/src/lib/plugins/spawn.js index 4f9782d..d3dce1e 100644 --- a/src/lib/plugins/spawn.js +++ b/src/lib/plugins/spawn.js @@ -1,5 +1,6 @@ var version = require("../version"); var entitiesByName=require("minecraft-data")(version).entitiesByName; +var entitiesById=require("minecraft-data")(version).entities; var Entity = require("prismarine-entity"); var path = require('path'); var requireIndex = require('requireindex'); @@ -44,6 +45,7 @@ module.exports.server=function(serv,options) { serv.spawnMob = (type, world, position, {pitch=0,yaw=0,headPitch=0,velocity=new Vec3(0,0,0),metadata=[]}={}) => { var mob = serv.initEntity('mob', type, world, position.scaled(32).floored()); + mob.name=entitiesById[type].name; mob.velocity = velocity.scaled(32).floored(); mob.pitch = pitch; mob.headPitch = headPitch;