Paper1.21.11Resmi#event#karşılama#efekt

Welcome Title

Oyuncu girişinde başlık, ses efekti ve havai fişek ile karşılama.

MinborAIminborai 17 0 0 3
Kaynak kod (ZIP)
Tüm hakları saklıdırSunucuda kullanDeğiştirTicari· Atıf gerekli
src/main/java/com/minborai/welcometitle/WelcomeTitle.java
1package com.minborai.welcometitle;
2
3import net.kyori.adventure.text.minimessage.MiniMessage;
4import net.kyori.adventure.title.Title;
5import org.bukkit.Color;
6import org.bukkit.FireworkEffect;
7import org.bukkit.Sound;
8import org.bukkit.entity.Firework;
9import org.bukkit.event.EventHandler;
10import org.bukkit.event.Listener;
11import org.bukkit.event.player.PlayerJoinEvent;
12import org.bukkit.plugin.java.JavaPlugin;
13
14import java.time.Duration;
15
16public final class WelcomeTitle extends JavaPlugin implements Listener {
17
18 private final MiniMessage mm = MiniMessage.miniMessage();
19
20 @Override
21 public void onEnable() {
22 saveDefaultConfig();
23 getServer().getPluginManager().registerEvents(this, this);
24 }
25
26 @EventHandler
27 public void onJoin(PlayerJoinEvent event) {
28 var player = event.getPlayer();
29 String title = getConfig().getString("title", "<gradient:#FAA17B:#9C8FE0>Hoş geldin!</gradient>");
30 String subtitle = getConfig().getString("subtitle", "<gray><player></gray>").replace("<player>", player.getName());
31 player.showTitle(Title.title(mm.deserialize(title), mm.deserialize(subtitle),
32 Title.Times.times(Duration.ofMillis(400), Duration.ofSeconds(3), Duration.ofMillis(800))));
33 player.playSound(player.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1f, 1.2f);
34 if (getConfig().getBoolean("firework", true)) {
35 Firework fw = player.getWorld().spawn(player.getLocation(), Firework.class);
36 var meta = fw.getFireworkMeta();
37 meta.addEffect(FireworkEffect.builder().withColor(Color.fromRGB(0xFAA17B), Color.fromRGB(0x9C8FE0)).with(FireworkEffect.Type.BALL_LARGE).trail(true).build());
38 meta.setPower(1);
39 fw.setFireworkMeta(meta);
40 }
41 }
42}
43