Nasıl yapılır? >>THELEGEND<< - Kendi banka plugininizi yapın! - Videolu!

thelegend

dı lejınd derler
Katılım
22 Ekim 2019
Mesajlar
17
Tepki puanı
20
Puanları
1,025
Yaş
27
Web Sitesi
mc-marketi.com
Dakikalar içinde aktif Minecraft sunucunu kur! Lag’sız, düşük pingli TR lokasyon ile kendi dünyanı oluştur, arkadaşlarınla oyna Hemen başla
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

Ekli dosyayı görüntüle 91694
Discord: >>TheLegend<<#6052​
 

Akif Başormancı

Seçkin madenci.
Katılım
26 Eylül 2018
Mesajlar
57
Tepki puanı
26
Puanları
1,025
Dakikalar içinde aktif Minecraft sunucunu kur! Lag’sız, düşük pingli TR lokasyon ile kendi dünyanı oluştur, arkadaşlarınla oyna Hemen başla
Beyaz Ekranda kodlama ilgiç :D Siyah Ekran + IntelJ IDEA Tavsiye ederim,
Açıkçası Buradan bakarak hatasız yapaçak adam oldugunu sanmıyorum. Az çok bişeyler bilen adam belki :D
(Beni soruyorsan bakmadanda yapabilirim)
Beraber ortak plugin yazabiliriz İstersen ekleyebilirsin Discordum : Akif B. | 19#5635
 

Üst