102 lines
1.9 KiB
JavaScript
102 lines
1.9 KiB
JavaScript
let ChatMessage
|
|
const colors = ['pink', 'blue', 'red', 'green', 'yellow', 'purple', 'white']
|
|
const divisions = [0, 6, 10, 12, 20]
|
|
|
|
module.exports = loader
|
|
|
|
function loader (registry) {
|
|
ChatMessage = require('prismarine-chat')(registry)
|
|
return BossBar
|
|
}
|
|
|
|
class BossBar {
|
|
constructor (uuid, title, health, dividers, color, flags) {
|
|
this._entityUUID = uuid
|
|
this._title = new ChatMessage(JSON.parse(title))
|
|
this._health = health
|
|
this._dividers = divisions[dividers]
|
|
this._color = colors[color]
|
|
this._shouldDarkenSky = flags & 0x1
|
|
this._isDragonBar = flags & 0x2
|
|
this._createFog = flags & 0x4
|
|
}
|
|
|
|
set entityUUID (uuid) {
|
|
this._entityUUID = uuid
|
|
}
|
|
|
|
set title (title) {
|
|
this._title = new ChatMessage(JSON.parse(title))
|
|
}
|
|
|
|
set health (health) {
|
|
this._health = health
|
|
}
|
|
|
|
set dividers (dividers) {
|
|
this._dividers = divisions[dividers]
|
|
}
|
|
|
|
set color (color) {
|
|
this._color = colors[color]
|
|
}
|
|
|
|
set flags (flags) {
|
|
this._shouldDarkenSky = flags & 0x1
|
|
this._isDragonBar = flags & 0x2
|
|
this._createFog = flags & 0x4
|
|
}
|
|
|
|
get flags () {
|
|
return (this._shouldDarkenSky) | (this._isDragonBar << 1) | (this._createFog << 2)
|
|
}
|
|
|
|
set shouldDarkenSky (darkenSky) {
|
|
this._shouldDarkenSky = darkenSky
|
|
}
|
|
|
|
set isDragonBar (dragonBar) {
|
|
this._isDragonBar = dragonBar
|
|
}
|
|
|
|
get createFog () {
|
|
return this._createFog
|
|
}
|
|
|
|
set createFog (createFog) {
|
|
this._createFog = createFog
|
|
}
|
|
|
|
get entityUUID () {
|
|
return this._entityUUID
|
|
}
|
|
|
|
get title () {
|
|
return this._title
|
|
}
|
|
|
|
get health () {
|
|
return this._health
|
|
}
|
|
|
|
get dividers () {
|
|
return this._dividers
|
|
}
|
|
|
|
get color () {
|
|
return this._color
|
|
}
|
|
|
|
get shouldDarkenSky () {
|
|
return this._shouldDarkenSky
|
|
}
|
|
|
|
get isDragonBar () {
|
|
return this._isDragonBar
|
|
}
|
|
|
|
get shouldCreateFog () {
|
|
return this._createFog
|
|
}
|
|
}
|