>>THELEGEND<< - Kendi banka plugininizi yapın! - Videolu!

>>TheLegend<<

Легенды никогда не умирают
Mesajlar
991
En iyi cevaplar
3
Beğeniler
1,903
Puanları
2,530
Merhaba arkadaşlar, plugin kodlama videosu talebi oldu ve örnek olarak basit bir banka plugini olmasını tercih ettiler.
Kaynak kodları konunun en altında.
Ayrıca sizinde yazarken çekmemi istediğiniz herhangi bir plugin olursa, lütfen belirtin.

(1/2)

(2/2)

Test

Kaynak kodları:
Ana.class:
JavaScript:
package tr.thelegend.basitbanka;

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

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin;

import net.milkbowl.vault.economy.Economy;
import tr.thelegend.basitbanka.cmds.BankaCmd;

public class Ana extends JavaPlugin {
    public static final Logger logcuamca=Logger.getLogger("Minecraft");
    public String yzr=">>TheLegend<<";
    public File d;
    public FileConfiguration c;
    public Economy econ=null;
    public File d2;
    public YamlConfiguration c2;
    public void a1() {
        c=getConfig();
        d=new File(getDataFolder(),"config.yml");
        saveDefaultConfig();
    }
    public void a2() {
        d2=new File(getDataFolder(),"bakiyeler.yml");
        c2=YamlConfiguration.loadConfiguration(d2);
    }
    public void l(String x) {
        logcuamca.log(Level.INFO,x);
    }
    private boolean ekonomiKur() {
        if (getServer().getPluginManager().getPlugin("Vault")==null) {
            return false;
        }
        RegisteredServiceProvider rsp=getServer().getServicesManager().getRegistration(Economy.class);
        if (rsp==null) {
            return false;
        }
        econ=((Economy)rsp.getProvider());
        return econ!=null;
    }
    public void cmds() {
        getCommand("banka").setExecutor(new BankaCmd(this));
    }
    public void onEnable() {
        a1();
        a2();
        cmds();
        l("===================== [ BasitBanka v1.0 ] ======================");
        l(" ");
        l(" ");
        l("Eklenti aktif ediliyor...");
        l(" ");
        l(" ");
        if (!ekonomiKur()){
            logcuamca.log(Level.SEVERE,"Vault plugini veya onunla uyumlu herhangi bir ekonomi eklentisi bulunamadi! BasitBanka v1.0 calismayacak!");
            getServer().getPluginManager().disablePlugin(this);
            return;
        }
        l("Eklenti aktif!");
        l(" ");
        l(" ");
        l("===================== [ BasitBanka v1.0 ] ======================");
    }
}

BankCmd.class:
JavaScript:
package tr.thelegend.basitbanka.cmds;

import java.io.IOException;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import tr.thelegend.basitbanka.Ana;

public class BankaCmd implements CommandExecutor {
    private Ana plugin;
    public BankaCmd(Ana plugin) {
        this.plugin=plugin;
    }
    public boolean onCommand(CommandSender gonderen, Command komut, String label, String[] args) {
        if (komut.getName().equalsIgnoreCase("banka")) {
            if (!(gonderen instanceof Player)) {
                gonderen.sendMessage("Bu komut sadece oyun icerisinde yollanabilir!");
                return false;
            }
            if (!gonderen.hasPermission("basitbanka.komutlar.banka")) {
                gonderen.sendMessage(ChatColor.RED+"Bunun icin gerekli izine sahip degilsiniz!");
                return false;
            }
            if (args.length!=2) {
                gonderen.sendMessage("§f§lLutfen argumanlari dogru girdiginizden emin olun!");
                gonderen.sendMessage("§3§l/banka §f§lcek §3§l<miktar>");
                gonderen.sendMessage("§3§l/banka §f§lyatir §3§l<miktar>");
                return true;
            }
            if ((args.length==2) && args[0].equalsIgnoreCase("cek")) {
                double miktar;
                try {
                    miktar=Double.parseDouble(args[1]);
                } catch (Exception e) {
                    gonderen.sendMessage(ChatColor.RED+"Lutfen gecerli bir miktar girin!");
                    return false;
                }
                Player o=(Player)gonderen;
                double obakiye=plugin.c2.getDouble(o.getName());
                if (miktar>obakiye) {
                    gonderen.sendMessage(ChatColor.RED+"Cekmek istediginiz miktar bakiyenizden yuksek!");
                    return false;
                }
                plugin.c2.set(o.getName(), obakiye-miktar);
                try {
                    plugin.c2.save(plugin.d2);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                plugin.econ.depositPlayer(o, miktar);
                gonderen.sendMessage("§3§lBanka hesabinizdan basariyla "+miktar+"TL para cektiniz!");
                return true;
            }
            if ((args.length==2) && args[0].equalsIgnoreCase("yatir")) {
                double miktar;
                try {
                    miktar=Double.parseDouble(args[1]);
                } catch (Exception e) {
                    gonderen.sendMessage(ChatColor.RED+"Lutfen gecerli bir miktar girin!");
                    return false;
                }
                Player o=(Player)gonderen;
                double bakiye=plugin.econ.getBalance(o);
                if (bakiye<miktar){
                    gonderen.sendMessage(ChatColor.RED+"Yatirmak istediginiz miktar sizin bakiyenizden fazla!");
                    return false;
                }
                plugin.econ.withdrawPlayer(o, miktar);
                double obakiye=plugin.c2.getDouble(o.getName());
                double ybakiye=obakiye+miktar;
                plugin.c2.set(o.getName(), ybakiye);
                try {
                    plugin.c2.save(plugin.d2);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                o.sendMessage(ChatColor.RED+"§c"+miktar+"TL hesabiniza basariyla yatirildi!");
                return true;
            }
        }
        return false;
    }
}

plugin.yml:
JavaScript:
name: BasitBanka
version: 1.0
author: thelegend
main: tr.thelegend.basitbanka.Ana
commands:
    banka:
        description: Ana komut
        usage: /banka cek/yatir <miktar>
permissions:
    basitbanka.komutlar.banka:
        description: Ana komuta erisim izini.
        default: true

Discord: >>TheLegend<<#6052​
 


Bernard

Бернард
Site Danışmanı
Geliştirici
Mesajlar
1,286
En iyi cevaplar
61
Beğeniler
2,129
Puanları
5,790
Java bilmeyenlere pek hitap etmeyen bir video, Java bilenlerin Minecraft pluginleri yazmasına başlarken izleyebileceği videolar. Eline sağlık.
 

Anceph

Ağaç Yumruklayıcı
Oyun Geliştirici
Mesajlar
23
En iyi cevaplar
0
Beğeniler
19
Puanları
110
Ruh hali
Bankada ki parayı görmede eklenirse güzel plugin olur.
 

aynkarşim

YASAKLANDI
Mesajlar
66
En iyi cevaplar
0
Beğeniler
50
Puanları
170
bilierek mi böyle yazıyorsun yani bu kodlama stilli ile bişi öğretme bence, zaten youtube ve internet yeterince kalitesiz ve gereksiz derslerle dolu bi yenisini eklemene üzüldüm. bu şekilde yeni başlayan arkadaşlara kötü örnek oluyorsun :/
 

>>TheLegend<<

Легенды никогда не умирают
Mesajlar
991
En iyi cevaplar
3
Beğeniler
1,903
Puanları
2,530
bilierek mi böyle yazıyorsun yani bu kodlama stilli ile bişi öğretme bence, zaten youtube ve internet yeterince kalitesiz ve gereksiz derslerle dolu bi yenisini eklemene üzüldüm. bu şekilde yeni başlayan arkadaşlara kötü örnek oluyorsun :/
Kardeşim sende okumuyorsun herhalde. Benim yeni başlayanlar için gayet fazla konum içeriğim var zaten ancak bu yeni başlayanlar için oluşturulmuş bir video değil. Ayrıca benim kodlama stilim seni ne ilgilendiriyor birader beğenmiyorsan niye burdasın niye yorum yapıyorsun ben bu kodlama stiliyle yüzlerce plugin yaptım ne konuşuyorsun. Videounun amacımını anlamayıp gelip burda boş boş konuşuyorsun. Toxic insan tipini git başka yerde yap ben kaldıramıyorum bir süre sonra senin gibilerini.
 

>>TheLegend<<

Легенды никогда не умирают
Mesajlar
991
En iyi cevaplar
3
Beğeniler
1,903
Puanları
2,530
Bankada ki parayı görmede eklenirse güzel plugin olur.
JavaScript:
if ((args.length==1) && args[0].equalsIgnoreCase("bakiye")) {
                Player o=(Player)gonderen;
                double bak=plugin.c2.getDouble(o.getName());
                o.sendMessage(ChatColor.RED+"Bakiyeniz: "+ChatColor.WHITE+bak);
                return true;
            }
Bunu eklemeniz yeterli.
 

aynkarşim

YASAKLANDI
Mesajlar
66
En iyi cevaplar
0
Beğeniler
50
Puanları
170
Kardeşim sende okumuyorsun herhalde. Benim yeni başlayanlar için gayet fazla konum içeriğim var zaten ancak bu yeni başlayanlar için oluşturulmuş bir video değil. Ayrıca benim kodlama stilim seni ne ilgilendiriyor birader beğenmiyorsan niye burdasın niye yorum yapıyorsun ben bu kodlama stiliyle yüzlerce plugin yaptım ne konuşuyorsun. Videounun amacımını anlamayıp gelip burda boş boş konuşuyorsun. Toxic insan tipini git başka yerde yap ben kaldıramıyorum bir süre sonra senin gibilerini.
bu videoları başka insanlarda izliyor senden bu şekilde berbat bi kod stili ile öğrenirlerse herkes böyle saçma sapan bi şekilde yazıcak, videonun amacını anlıyorum ama azıcık emek ver şu yazdığın şeylere
 

aynkarşim

YASAKLANDI
Mesajlar
66
En iyi cevaplar
0
Beğeniler
50
Puanları
170
ben bu kodlama stiliyle yüzlerce plugin yaptım ne konuşuyorsun.
şu şekilde kod yazıpta bununla övünmen ilginç gerçekten, anladık minecraft o kadar kasmaya gerek yok ama bu kadar da kötü şekilde yazarsan ilerde başka bir işe girdiğinde seni direk şutlarlar
 

>>TheLegend<<

Легенды никогда не умирают
Mesajlar
991
En iyi cevaplar
3
Beğeniler
1,903
Puanları
2,530
bu videoları başka insanlarda izliyor senden bu şekilde berbat bi kod stili ile öğrenirlerse herkes böyle saçma sapan bi şekilde yazıcak, videonun amacını anlıyorum ama azıcık emek ver şu yazdığın şeylere
Sen anlamıyor musun birader bir sorun falan mı var kocaman mı yazayım SANANE SANANE derdin mi var senin sıkıntın mı var benle
Beni cidden geriyorsun kardeşim ben kaldıramıyorum senin gibi iğrenç insan tipini biliyor musun bu sorunumuzu daha güzel bir yerde halletmek isterim seninle yoksa ben cidden sabır falan gösteremiyorum senin gibilerine çok ağır konuşmak istiyorum da forum izin vermiyor
şu şekilde kod yazıpta bununla övünmen ilginç gerçekten, anladık minecraft o kadar kasmaya gerek yok ama bu kadar da kötü şekilde yazarsan ilerde başka bir işe girdiğinde seni direk şutlarlar
Dur birader sana tek bir soru sorup sonra sana yürüyücem, şu stilin nesi var bana BİR tane hata bul. BİR tane yanlış bul. Toxic kıskanç sevilmeyen insan tipi seni
 

aynkarşim

YASAKLANDI
Mesajlar
66
En iyi cevaplar
0
Beğeniler
50
Puanları
170
Sen anlamıyor musun birader bir sorun falan mı var kocaman mı yazayım SANANE SANANE derdin mi var senin sıkıntın mı var benle
Beni cidden geriyorsun kardeşim ben kaldıramıyorum senin gibi iğrenç insan tipini biliyor musun bu sorunumuzu daha güzel bir yerde halletmek isterim seninle yoksa ben cidden sabır falan gösteremiyorum senin gibilerine çok ağır konuşmak istiyorum da forum izin vermiyor
daha sen ilk kötü yorumunda böyle celallenirsen daha çok işin var senin(plugin derslerine açılmış bir konu)

Dur birader sana tek bir soru sorup sonra sana yürüyücem, şu stilin nesi var bana BİR tane hata bul. BİR tane yanlış bul. Toxic kıskanç sevilmeyen insan tipi seni
ben hatadan bahsettim mi? hayır ben sadece çok kötü bir kodlama stilin olduğundan bahsettim. sen dediğimi anlamıyorsun anlaşılan.

bide kıskanç diyor :D şu an şu lafına muhtemelen 30dk falan gülebilirim, ego yapmak istemiyorum o yüzden bu dediğine sadece gülmekle yetiniyorum.
 

aynkarşim

YASAKLANDI
Mesajlar
66
En iyi cevaplar
0
Beğeniler
50
Puanları
170
ne yapmamı bekliyorsun konuyu okumadan video vs. izlemeden sadece konu başlığı ve konu sahibine bakarak, aa legend video çekmiş hemen "eline sağlık" gibi için dışı tamamen boş bir mesaj atıyım ne konu sahibine ne bu konuyu okuyanlara hiç bi faydam dokunmasın sadece bi beğeni alıyım yeter kafasında olmadığım için özür dilerim, eleştiri yapıyorum tamam biraz sert kelimeler kullanmış olabilirim ama aynı şekilde cevap verirsende bu konu uzar gider. tekrardan özür dilerim düşünerek yorum yazdığım için konu daha fazla kirlenmesin güle güle
 

Red'Queen

Taş Madencisi
Mesajlar
76
En iyi cevaplar
0
Beğeniler
47
Puanları
140
Sen anlamıyor musun birader bir sorun falan mı var kocaman mı yazayım SANANE SANANE derdin mi var senin sıkıntın mı var benle
Beni cidden geriyorsun kardeşim ben kaldıramıyorum senin gibi iğrenç insan tipini biliyor musun bu sorunumuzu daha güzel bir yerde halletmek isterim seninle yoksa ben cidden sabır falan gösteremiyorum senin gibilerine çok ağır konuşmak istiyorum da forum izin vermiyor

Dur birader sana tek bir soru sorup sonra sana yürüyücem, şu stilin nesi var bana BİR tane hata bul. BİR tane yanlış bul. Toxic kıskanç sevilmeyen insan tipi seni
Sinirlenme reis bu tür insanlar ancak bu şekilde farkedildikleri için böyle yapıyorlar, ilgi istiyor aslında senden
saçmalığa bak kodlama stilin kötü diyor :D senin de kıyafet seçimin çok kötü gibi bir şey bu ne saçmalık herif nerden sallasam acaba diyor
 

AnadoluNW

Zombi Katili
Mesajlar
157
En iyi cevaplar
0
Beğeniler
173
Puanları
380
Niye sinirleniyorsun ki? Forumda 18 yaşında olduğunu iddaa eden zeka yaşı 12 olan çok çoluk çocuk var.
Takma kafana.. Devam et videolara.

Vault apisine(yada 3.cül bir plnin apisine) ve sqle de bağladığın devam videosunu bekliyorum ben ^^
 

Üst