31 lines
781 B
JavaScript
31 lines
781 B
JavaScript
const { Vec3 } = require('vec3')
|
|
|
|
module.exports = loader
|
|
|
|
function loader (registry) {
|
|
class Particle {
|
|
constructor (id, position, offset, count = 1, movementSpeed = 0, longDistanceRender = false) {
|
|
Object.assign(this, registry.particles[id])
|
|
this.id = id
|
|
this.position = position
|
|
this.offset = offset
|
|
this.count = count
|
|
this.movementSpeed = movementSpeed
|
|
this.longDistanceRender = longDistanceRender
|
|
}
|
|
|
|
static fromNetwork (packet) {
|
|
return new Particle(
|
|
packet.particleId,
|
|
new Vec3(packet.x, packet.y, packet.z),
|
|
new Vec3(packet.offsetX, packet.offsetY, packet.offsetZ),
|
|
packet.particles,
|
|
packet.particleData,
|
|
packet.longDistance
|
|
)
|
|
}
|
|
}
|
|
|
|
return Particle
|
|
}
|