Skocz do zawartości
  • 0

pytanko


Usunięty#19006

Pytanie

Hejka postanowiłem zrobić plugin na bossbar który nigdy nie znika no i wszystko ładnie śmiga ale mam pytanie: Jak zmienić kolor takiego bossbara? 

Jak wszyscy wiemy bossbar jest zawsze taki w kolorze magenta ale widzialem na innych serwerach ze maja takie bossbary np. żółte 

 

 

yapGqdo.png

package pl.bcode.bdragon;

import net.minecraft.server.v1_8_R3.EntityLiving;
import net.minecraft.server.v1_8_R3.EntityWither;
import net.minecraft.server.v1_8_R3.Packet;
import net.minecraft.server.v1_8_R3.PacketPlayOutEntityDestroy;
import net.minecraft.server.v1_8_R3.PacketPlayOutSpawnEntityLiving;
import net.minecraft.server.v1_8_R3.World;
import net.minecraft.server.v1_8_R3.WorldServer;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_8_R3.Craftsyf;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
import org.bukkit.util.Vector;

public class Bar {
  private Player p;
  
  private String message;
  
  private EntityWither w;
  
  public Bar(Player p, String message) {
    this.p = p;
    this.message = message;
    update();
  }
  
  public void update() {
    Vector d = this.p.getLocation().getDirection();
    Location loc = this.p.getLocation().add(d.multiply(20));
    removeWither();
    WorldServer world = ((Craftsyf)loc.getsyf()).getHandle();
    this.w = new EntityWither((World)world);
    this.w.setLocation(loc.getX(), this.p.getLocation().getY(), loc.getZ(), loc.getPitch(), loc.getYaw());
    this.w.setCustomName(this.message);
    this.w.setInvisible(true);
    PacketPlayOutSpawnEntityLiving packet = new PacketPlayOutSpawnEntityLiving((EntityLiving)this.w);
    (((CraftPlayer)this.p).getHandle()).playerConnection.sendPacket((Packet)packet);
  }
  
  private void removeWither() {
    if (this.w != null) {
      PacketPlayOutEntityDestroy packet = new PacketPlayOutEntityDestroy(new int[] { this.w.getId() });
      (((CraftPlayer)this.p).getHandle()).playerConnection.sendPacket((Packet)packet);
    } 
  }
  
  public void end() {
    removeWither();
  }
}

u2h36zr.png

Edytowane przez jhgggg
Odnośnik do komentarza
Udostępnij na innych stronach

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • -1
15 minut temu, jhgggg napisał:

Hejka postanowiłem zrobić plugin na bossbar który nigdy nie znika no i wszystko ładnie śmiga ale mam pytanie: Jak zmienić kolor takiego bossbara? 

Jak wszyscy wiemy bossbar jest zawsze taki w kolorze magenta ale widzialem na innych serwerach ze maja takie bossbary np. żółte 

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
18 minut temu, jhgggg napisał:

czyli w kodzie this.w.setColor(YELLOW); tak?

Enumy używamy według wzorca nazwa_enuma.wartość. Czyli w twoim przypadku to byłoby BarColor.YELLOW.

Mimo wszystko to i tak nie ma większego znaczenia, skoro nie posiadasz wersji 1.9, w której jest wbudowane Bossbar API (z niej właśnie pochodzi wcześniej podsunięta przeze mnie metoda).

Możesz ewentualnie skorzystać z Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Ehh te API to akurat znam i jest syfowe m.i.n. gdy się zmieni gamemode na spectator to bossbar znika i inne, lepiej użyć BarAPI lecz nie mam pojęcia czy obsługuje to zmienianie koloru. Do zamknięcia w takim razie, mam jeszcze 1 problem ale to w innym temacie opisze.

Edytowane przez jhgggg
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Nie zrobisz tego bez api blazingpacka. A to, że grasz na blazingpacku to sobie możesz grać. Jedynie kolor można zmienić przez texturepacka lub w cliencie ale to byś musiał robić własnego clienta do minecraft. Lub serwer postawić na wersji 1.9 bo na tej wersji dodali już takie "bossbary" jak ty chcesz.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
19 minut temu, rusekh napisał:

Nie zrobisz tego bez api blazingpacka. A to, że grasz na blazingpacku to sobie możesz grać. Jedynie kolor można zmienić przez texturepacka lub w cliencie ale to byś musiał robić własnego clienta do minecraft. Lub serwer postawić na wersji 1.9 bo na tej wersji dodali już takie "bossbary" jak ty chcesz.

Sprawa wyjaśniona, po co dalej komentujesz bez sensownie?

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...