Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Szukam] Kod Java


Rekomendowane odpowiedzi

Opublikowano

Klasa np. FireworkUtil

import net.minecraft.server.v1_7_R3.EntityFireworks;
import net.minecraft.server.v1_7_R3.PacketPlayOutEntityStatus;
import net.minecraft.server.v1_7_R3.World;
import org.bukkit.FireworkEffect;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_7_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer;
import org.bukkit.entity.Firework;
import org.bukkit.entity.Player;
import org.bukkit.inventory.meta.FireworkMeta;
 
public class CustomEntityFirework extends EntityFireworks {
Player[] players = null;
 
public CustomEntityFirework(World world, Player... p) {
super(world);
players = p;
this.a(0.25F, 0.25F);
}
 
boolean gone = false;
 
@Override
public void h() {
if (gone) {
return;
}
 
if (!this.world.isStatic) {
gone = true;
 
if (players != null) {
if (players.length > 0) {
for (Player player : players) {
(((CraftPlayer) player).getHandle()).playerConnection.sendPacket(new PacketPlayOutEntityStatus(this, (byte) 17));
}
 
this.die();
return;
}
}
 
world.broadcastEntityEffect(this, (byte) 17);
this.die();
}
}
 
public static void spawn(Location location, FireworkEffect effect, Player... players) {
try {
CustomEntityFirework firework = new CustomEntityFirework(((CraftWorld) location.getWorld()).getHandle(), players);
FireworkMeta meta = ((Firework) firework.getBukkitEntity()).getFireworkMeta();
meta.addEffect(effect);
((Firework) firework.getBukkitEntity()).setFireworkMeta(meta);
firework.setPosition(location.getX(), location.getY(), location.getZ());
 
if ((((CraftWorld) location.getWorld()).getHandle()).addEntity(firework)) {
firework.setInvisible(true);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
 
 

Uzycie:

// Builder fajerwerkow
FireworkEffect.Builder builder = FireworkEffect.builder();
 
// Tworzy fajerwerke z builderem (google sie klania)
FireworkEffect effect = builder.flicker(false).trail(false).with(FireworkEffect.Type.BALL)withColor(Color.RED).withFade(Color.BLUE).build();
 
// Spawnuje fajerwerke
CustomEntityFirework.spawn(location, effect);
 
// Pokazuje tylko dla graczy p1, p2, p3
CustomEntityFirework.spawn(location, effect, player1, player2, player3);
 

Kod zapozyczony z:

https://bukkit.org/threads/lib-instant-fireworks-no-launch-sound-no-visible-rocket-just-the-firework-effect.269919/

 

 

 

 

fKJeAI4.jpg

 

 

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...