@jsprismarine/prismarine
Version:
Dedicated Minecraft Bedrock Edition server written in TypeScript
31 lines (30 loc) • 3.92 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
require("../../_virtual/_rolldown/runtime.cjs.cjs");
const require_entity_Entity = require("../Entity.cjs.cjs");
const require_network_packet_AddItemActorPacket = require("../../network/packet/AddItemActorPacket.cjs.cjs");
let _jsprismarine_math = require("@jsprismarine/math");
//#region src/entity/other/Item.ts
var Item = class extends require_entity_Entity.Entity {
static MOB_ID = "minecraft:item";
item;
constructor({ item, ...options }) {
super(options);
this.item = item;
}
async sendSpawn(player) {
if (!this.item) return;
const players = player ? [player] : this.getWorld().getEntities().filter((entity) => entity.isPlayer());
const pk = new require_network_packet_AddItemActorPacket.default();
pk.runtimeEntityId = this.getRuntimeId();
pk.position = new _jsprismarine_math.Vector3(this.getX(), this.getY(), this.getZ());
pk.item = this.item.getItem();
await Promise.all(players.map(async (p) => p.getNetworkSession().getConnection().sendDataPacket(pk)));
}
async update(tick) {
await super.update(tick);
}
};
//#endregion
exports.Item = Item;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlbS5janMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbnRpdHkvb3RoZXIvSXRlbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWZWN0b3IzIH0gZnJvbSAnQGpzcHJpc21hcmluZS9tYXRoJztcbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICcuLi8uLi9QbGF5ZXInO1xuaW1wb3J0IHR5cGUgQ29udGFpbmVyRW50cnkgZnJvbSAnLi4vLi4vaW52ZW50b3J5L0NvbnRhaW5lckVudHJ5JztcbmltcG9ydCB7IEFkZEl0ZW1BY3RvclBhY2tldCB9IGZyb20gJy4uLy4uL25ldHdvcmsvUGFja2V0cyc7XG5pbXBvcnQgeyBFbnRpdHkgfSBmcm9tICcuLi9FbnRpdHknO1xuXG5leHBvcnQgY2xhc3MgSXRlbSBleHRlbmRzIEVudGl0eSB7XG4gICAgcHVibGljIHN0YXRpYyBNT0JfSUQgPSAnbWluZWNyYWZ0Oml0ZW0nO1xuICAgIHByaXZhdGUgaXRlbT86IENvbnRhaW5lckVudHJ5O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHtcbiAgICAgICAgaXRlbSxcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgIH06IENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgRW50aXR5PlswXSAmIHtcbiAgICAgICAgaXRlbT86IENvbnRhaW5lckVudHJ5O1xuICAgIH0pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5pdGVtID0gaXRlbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2VuZFNwYXduKHBsYXllcj86IFBsYXllcikge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHBsYXllcnM6IFBsYXllcltdID0gcGxheWVyXG4gICAgICAgICAgICA/IFtwbGF5ZXJdXG4gICAgICAgICAgICA6ICh0aGlzLmdldFdvcmxkKClcbiAgICAgICAgICAgICAgICAgIC5nZXRFbnRpdGllcygpXG4gICAgICAgICAgICAgICAgICAuZmlsdGVyKChlbnRpdHkpID0+IGVudGl0eS5pc1BsYXllcigpKSBhcyBQbGF5ZXJbXSk7XG5cbiAgICAgICAgY29uc3QgcGsgPSBuZXcgQWRkSXRlbUFjdG9yUGFja2V0KCk7XG4gICAgICAgIHBrLnJ1bnRpbWVFbnRpdHlJZCA9IHRoaXMuZ2V0UnVudGltZUlkKCk7XG4gICAgICAgIHBrLnBvc2l0aW9uID0gbmV3IFZlY3RvcjModGhpcy5nZXRYKCksIHRoaXMuZ2V0WSgpLCB0aGlzLmdldFooKSk7XG4gICAgICAgIHBrLml0ZW0gPSB0aGlzLml0ZW0uZ2V0SXRlbSgpO1xuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHBsYXllcnMubWFwKGFzeW5jIChwKSA9PiBwLmdldE5ldHdvcmtTZXNzaW9uKCkuZ2V0Q29ubmVjdGlvbigpLnNlbmREYXRhUGFja2V0KHBrKSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB1cGRhdGUodGljazogbnVtYmVyKSB7XG4gICAgICAgIGF3YWl0IHN1cGVyLnVwZGF0ZSh0aWNrKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFNQSxJQUFhLE9BQWIsY0FBMEIsc0JBQUEsT0FBTztDQUM3QixPQUFjLFNBQVM7Q0FDdkI7Q0FFQSxZQUFtQixFQUNmLE1BQ0EsR0FBRyxXQUdKO0VBQ0MsTUFBTSxPQUFPO0VBRWIsS0FBSyxPQUFPO0NBQ2hCO0NBRUEsTUFBYSxVQUFVLFFBQWlCO0VBQ3BDLElBQUksQ0FBQyxLQUFLLE1BQU07RUFFaEIsTUFBTSxVQUFvQixTQUNwQixDQUFDLE1BQU0sSUFDTixLQUFLLFNBQVMsRUFDVixZQUFZLEVBQ1osUUFBUSxXQUFXLE9BQU8sU0FBUyxDQUFDO0VBRS9DLE1BQU0sS0FBSyxJQUFJLDBDQUFBLFFBQW1CO0VBQ2xDLEdBQUcsa0JBQWtCLEtBQUssYUFBYTtFQUN2QyxHQUFHLFdBQVcsSUFBSSxtQkFBQSxRQUFRLEtBQUssS0FBSyxHQUFHLEtBQUssS0FBSyxHQUFHLEtBQUssS0FBSyxDQUFDO0VBQy9ELEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUTtFQUU1QixNQUFNLFFBQVEsSUFBSSxRQUFRLElBQUksT0FBTyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7Q0FDeEc7Q0FFQSxNQUFhLE9BQU8sTUFBYztFQUM5QixNQUFNLE1BQU0sT0FBTyxJQUFJO0NBQzNCO0FBQ0oifQ==