Search in sources :

Example 1 with BossEventBridge

use of org.spongepowered.common.bridge.world.BossEventBridge in project SpongeCommon by SpongePowered.

the class HackyBossBarPlatformBridgeMixin method bridge$asVanillaServerBar.

@Override
public ServerBossEvent bridge$asVanillaServerBar() {
    if (this.bridge$vanillaServerBar == null) {
        final BossBar $this = (BossBar) this;
        this.bridge$vanillaServerBar = new ServerBossEvent(SpongeAdventure.asVanilla($this.name()), SpongeAdventure.asVanilla($this.color()), SpongeAdventure.asVanilla($this.overlay()));
        final BossEventBridge bridge = (BossEventBridge) this.bridge$vanillaServerBar;
        bridge.bridge$copyAndAssign($this);
        $this.addListener(new VanillaBossBarListener(this.bridge$vanillaServerBar));
    }
    return this.bridge$vanillaServerBar;
}
Also used : ServerBossEvent(net.minecraft.server.level.ServerBossEvent) BossEventBridge(org.spongepowered.common.bridge.world.BossEventBridge) VanillaBossBarListener(org.spongepowered.common.adventure.VanillaBossBarListener) BossBar(net.kyori.adventure.bossbar.BossBar)

Aggregations

BossBar (net.kyori.adventure.bossbar.BossBar)1 ServerBossEvent (net.minecraft.server.level.ServerBossEvent)1 VanillaBossBarListener (org.spongepowered.common.adventure.VanillaBossBarListener)1 BossEventBridge (org.spongepowered.common.bridge.world.BossEventBridge)1