Sol Reklam
Sağ Reklam

Rehber >>TheLegend<< - Videolu Plugin Eğitimi - Kendi welcome plugininizi yapın, oyuncu oyuna girince otomatik mesaj gönderme

Durum
Mesaj gönderimine kapalı.

>>TheLegend<<

Легенды никогда не умирают

Discord:

>>TheLegend<<#6052

Katılım
2 Temmuz 2016
Mesajlar
312
Elmaslar
434
Puanlar
15.025
Yaş
26
Discord İzni
Minecraft
THELEGEND


Ana.class
Java:
package tr.thelegend.hosgeldin;

import java.io.File;
import java.util.logging.Logger;

import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class Ana extends JavaPlugin {
    public static final Logger logcuamca =Logger.getLogger("Minecraft");
    public File d;
    public PluginManager pm=Bukkit.getServer().getPluginManager();
    public FileConfiguration c;
    public void onEnable() {
        c=getConfig();
        d=new File(getDataFolder(),"config.yml");
        saveDefaultConfig();
        pm.registerEvents(new Evnt(this), this);
    }
}
Evnt.class
Java:
package tr.thelegend.hosgeldin;

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;

public class Evnt implements Listener {
    private Ana plugin;
    public Evnt(Ana plugin) {
        this.plugin=plugin;
    }
    @EventHandler
    public void oyuncuSunucuyaGirince(PlayerJoinEvent e) {
        Player o=e.getPlayer();
        String oi=o.getName();
        e.setJoinMessage(null);
        o.sendMessage(plugin.c.getString("mesaj").replace("%oyuncu%", oi));
        return;
    }
}
config.yml
YAML:
mesaj: '&3Merhabalar sevgili %oyuncu%&f!'
plugin.yml
YAML:
name: Hosgeldin
version: 1.0
author: thelegend
main: tr.thelegend.hosgeldin.Ana
Eğer yeni başlıyorsanız, videoda gördüğünüz gibi ana şablonu oluşturun ve kendi başınıza modifikasyon yaparak başlayın.
Örneğin, eğer oyuncu OP ise ona sunucuda kaç kişi olduğunu söylemeye çalışın "if (o.isOp) {", veya config.yml dosyasında belirtilmiş birden fazla satırlı mesaj göndermeye çalışın, sınırı yok, siz nasıl isterseniz öyle! Bitirdiğiniz zaman ilk plugininizi yayınlayın! Ve kanalıma abone olmay.... şaka şaka

Daha fazla yardım için diğer rehber konularıma göz atabilirsiniz veya direk benden yardım isteyebilirsiniz, müsait olduğum sürece daima herkese destek sağlıyorum.
Discord: >>TheLegend<<#6052

 

İsmail "IArdaK" Arda

Fırında Isıttığım İlk Taş

Discord:

İsmail "IArdaK" Arda#2422

Katılım
21 Ocak 2019
Mesajlar
88
Elmaslar
24
Puanlar
2.070
Minecraft
k3lda
yardımcı oldu bana teşekkürler, kolay gelsin
 
S

Silinen üye 79251

Ziyaretçi

Sizin gibi deneyimli birisinin böyle bir eğitim konusunu hazırlaması oldukça güzel ve hoş bir hareket olmuş. Konudan çok yararınızı gördüm <3
 

WhiteKurumii

Birisi mi Spawnlandı?
Katılım
1 Ocak 2020
Mesajlar
6
Elmaslar
5
Puanlar
0
Yaş
20
Yerinizde olsam bu kodları direkt kullanmadan önce ilk başta bir optimize ederdim.
Bu kodlar nasıl optimize edilebilir konusuna gelelim.
İlk başta en gereksizlerden biri olan Logger kaldırılabilir zaten logger spigot hem size veriyor hem de kullanmayacağınız şeyi tanımlama İn pek bir anlamı yok gereksiz yere ram de boşboş yer kaplaması nın bir faydası yok.
File ve File Configuration a sırf config.yml için hiç gereği yok neden derseniz zaten spigot config.yml dosyası sizin için hazırlıyor. Sizin yapmanız gereken tek şey saveDefaultConfig metodunu onEnable ekleyip getConfig ile erişimek öbür türlü gereksiz yere ram de yer kaplamak dışında bir karı yok.
Özellikle PluginManager i public tanımlamanızın bir anlamı yok sadece onEnable methoduna Bukkit.getPluginManager().registerEvents(new Evnt(this), this) tanımlamanız yeterli olacaktır.
Event methodunun en sonuna return koymanın hiç bir anlamı yok zaten event bittiği yerde neden return ile bitirmeye çalışırsın ki .
o.sendMessage kısmında eğer ki ChatColor.translateAlternateColorCodes('&', mesaj) tarzinda kullanmazsaniz oyununuz & karakterini takmayacağından dolayı mesajınız düz beyaz renginde olacaktır.
Lütfen kodlara daha özen gösterirsen seviniriz TheLegend. Sonuçta bilmeyen insanlara düzgün şeyler öğretmeliyiz.
 

Puncher

Bilmem halla yaşıyorum galiba.

Discord:

asrınn.abakhann#3550

Katılım
6 Ocak 2018
Mesajlar
943
Elmaslar
491
Puanlar
7.065
Yaş
23
Konunuz çok yararlı başarılar dilerim kendinde efsane plugin paketleri yapıyorsun :))
 

Lilith Magnolia

Minecraft Developer & Pluginer

Discord:

Lilith Magnolia#3705

Katılım
22 Temmuz 2017
Mesajlar
179
Elmaslar
67
Puanlar
0
Adı gibi legend :enteresan::dusundurucu:
 

CelestiaSu

Somon Balığı Selam Vermeye Geldi
Katılım
8 Ekim 2019
Mesajlar
10
Elmaslar
11
Puanlar
0
Yaş
20
Yerinizde olsam bu kodları direkt kullanmadan önce ilk başta bir optimize ederdim.
Bu kodlar nasıl optimize edilebilir konusuna gelelim.
İlk başta en gereksizlerden biri olan Logger kaldırılabilir zaten logger spigot hem size veriyor hem de kullanmayacağınız şeyi tanımlama İn pek bir anlamı yok gereksiz yere ram de boşboş yer kaplaması nın bir faydası yok.
File ve File Configuration a sırf config.yml için hiç gereği yok neden derseniz zaten spigot config.yml dosyası sizin için hazırlıyor. Sizin yapmanız gereken tek şey saveDefaultConfig metodunu onEnable ekleyip getConfig ile erişimek öbür türlü gereksiz yere ram de yer kaplamak dışında bir karı yok.
Özellikle PluginManager i public tanımlamanızın bir anlamı yok sadece onEnable methoduna Bukkit.getPluginManager().registerEvents(new Evnt(this), this) tanımlamanız yeterli olacaktır.
Event methodunun en sonuna return koymanın hiç bir anlamı yok zaten event bittiği yerde neden return ile bitirmeye çalışırsın ki .
o.sendMessage kısmında eğer ki ChatColor.translateAlternateColorCodes('&', mesaj) tarzinda kullanmazsaniz oyununuz & karakterini takmayacağından dolayı mesajınız düz beyaz renginde olacaktır.
Lütfen kodlara daha özen gösterirsen seviniriz TheLegend. Sonuçta bilmeyen insanlara düzgün şeyler öğretmeliyiz.

Ek olarak, JavaPlugin extendleyen main classında Bukkit static değişkenini kullanmaya gerek yoktur, JavaPlugin#getServer() yeterli olacaktır.

yani, getServer().getPluginManager().registerEvents(...)

son olarak, isimlendirmeler asla tek harfli olmazlar. Class isimleri ise türkçe olmamalı ve kısaltma olmamalıdır. bkz: event -> evnt
 

HalitCirik

Odunlara Vur Vur Vur!

Discord:

discord.gg/limonnetwork

Katılım
9 Haziran 2014
Mesajlar
25
Elmaslar
3
Puanlar
13.260
hocam plugin değilde bir skript yapmaya çalışıyorum fakat oyuncular için bir değişkende bir veri tutuyorum. ama bunu döngüye sokamıyorum örneğin her bir blok kırdıklarında kırdıkları blok sayısı 1 artıyor ama en çok kıran on kişiyi bulamıyorum yardımcı olur musunuz
 

>>TheLegend<<

Легенды никогда не умирают

Discord:

>>TheLegend<<#6052

Katılım
2 Temmuz 2016
Mesajlar
312
Elmaslar
434
Puanlar
15.025
Yaş
26
Discord İzni
Minecraft
THELEGEND
hocam plugin değilde bir skript yapmaya çalışıyorum fakat oyuncular için bir değişkende bir veri tutuyorum. ama bunu döngüye sokamıyorum örneğin her bir blok kırdıklarında kırdıkları blok sayısı 1 artıyor ama en çok kıran on kişiyi bulamıyorum yardımcı olur musunuz
Skriptle bir alakam yok maalesef havaya davet ediyorum sizi
 

Emreleyn

Odunlara Vur Vur Vur!

Discord:

Emre Coşkun#5918

Katılım
25 Kasım 2019
Mesajlar
38
Elmaslar
19
Puanlar
1.250
Yaş
23
Minecraft
Emreleyn
sayende ufaktan başlamaya başladım :D bakalım nereye kadar
 

Nuage

Koydum Çalışma Masasını
Yönetici Yardımcısı
Hosting Görevlisi

Discord:

nazmiyigitefe

Katılım
27 Aralık 2020
Mesajlar
73
Elmaslar
54
Puanlar
4.120
Yer
İzmir
Minecraft
NuageDev
Merakı olanlar veya eklenti geliştirmeye giriş yapmak isteyenler için güzel olmuş :)
 
A

agodevr

Ziyaretçi
Merhaba, dostum.

Çok güzel bir paylaşım, anlatım, öğretim olmuş teşekkürler.
 
Durum
Mesaj gönderimine kapalı.
Neden altınlarını Discord sunucumuzda kazmıyorsun? TIKLA VE KATIL!
Yukarı