Gość Usunięty#19006 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 (edytowane) 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 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(); } } Edytowane 13 grudnia 2020 przez jhgggg Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/ Udostępnij na innych stronach Więcej opcji udostępniania...
-1 Kormic 1951 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 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 https://hub.spigotmc.org/javadocs/spigot/org/bukkit/boss/BossBar.html#setColor(org.bukkit.boss.BarColor) Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/#findComment-273005 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#19006 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 (edytowane) czyli w kodzie this.w.setColor(YELLOW); tak? EDIT:Używam Spigot-API 1.8.8 i nie mam tego Edytowane 13 grudnia 2020 przez jhgggg Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/#findComment-273008 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 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 tego. Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/#findComment-273011 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#19006 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 (edytowane) 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 13 grudnia 2020 przez jhgggg Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/#findComment-273012 Udostępnij na innych stronach Więcej opcji udostępniania...
2 kerpson 551 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 nie da się w zwykłym 1.8.8 zrobić kolor paska bez modyfikacji clienta(np. blazingpack na to pozwala) Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/#findComment-273027 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#19006 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 56 minut temu, kerpson napisał: nie da się w zwykłym 1.8.8 zrobić kolor paska bez modyfikacji clienta(np. blazingpack na to pozwala) Przecież używam blazingpacka? Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/#findComment-273030 Udostępnij na innych stronach Więcej opcji udostępniania...
2 xAxee 1968 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 26 minut temu, jhgggg napisał: Przecież używam blazingpacka? No i możesz sobie używać, bez ich api lub czegoś tego nie zrobisz. Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/#findComment-273032 Udostępnij na innych stronach Więcej opcji udostępniania...
0 rusekh 20 Opublikowano 14 grudnia 2020 Udostępnij Opublikowano 14 grudnia 2020 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 https://skript.pl/temat/43599-pytanko/#findComment-273126 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#19006 Opublikowano 14 grudnia 2020 Udostępnij Opublikowano 14 grudnia 2020 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 https://skript.pl/temat/43599-pytanko/#findComment-273130 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Gość Usunięty#34161 Opublikowano 14 grudnia 2020 Udostępnij Opublikowano 14 grudnia 2020 Ten temat został zamknięty. "Sprawa wyjaśniona" Odnośnik do komentarza https://skript.pl/temat/43599-pytanko/#findComment-273132 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Gość Usunięty#19006
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
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(); } }
Edytowane przez jhggggOdnośnik do komentarza
https://skript.pl/temat/43599-pytanko/Udostępnij na innych stronach
10 odpowiedzi na to pytanie
Rekomendowane odpowiedzi