AntiTNT Plugini - TNT Hasarlarına SON! (Kaynak Kodlarıyla Birlikte) {Tamamen Kendim Yaptm} 1.7.2

TheMuhammed2188

Java <3
En iyi cevaplar
0
Not:plugin'i Tamamen kendim yaptım ve sadece TNT değil entity hasarlarınada engel koyma özelliği bulunmakta

Permission: AntiTNT.TNT = Bu yetki verilirse TNT Kapatılsa'da Koyabilir.

Source Code
Kod:
package com.tnt.TNT;
 
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
 
public class TNT extends JavaPlugin implements Listener{
 
    public static Material[] karaliste = {Material.TNT};
 
    public void onEnable(){
        getLogger().info("Plugin Aktif");
        getConfig().options().copyDefaults(true);
        saveConfig();
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        PluginManager pm = Bukkit.getPluginManager();
        pm.registerEvents(this, this);
    }
 
    public void onDisable(){
        getLogger().info("Plugin Pasif");
    }
 
    @EventHandler
    public void BlokKoyunca(BlockPlaceEvent e) {
        if(getConfig().getBoolean("TNT-PLACE") == false) {
        Material blok = e.getBlock().getType();
        Player oyuncu = e.getPlayer();
     
        for(Material blocked : karaliste) {
            if(blocked == blok) {
                if(oyuncu.hasPermission("AntiTNT.TNT")) {
                }
                e.getBlock().setType(Material.AIR);
                oyuncu.sendMessage(ChatColor.RED + "[AntiTNT] " + ChatColor.DARK_RED + getConfig().getString("TNT-Mesaj"));
                if(getConfig().getBoolean("CEZA") == true) {
                oyuncu.setFireTicks(50);
                }
            }
        }
        }
    }
    @EventHandler
    public void Patlama(EntityExplodeEvent e) {
        if(getConfig().getBoolean("TNT-BLOCK-HASAR") == false) {
            e.setCancelled(true);
        }
    }
 
    public boolean onCommand(CommandSender gonderen, Command komut, String label, String[] args){
        if(komut.getName().equalsIgnoreCase("AntiTNT")){
            if(args.length == 0) {
                gonderen.sendMessage(ChatColor.RED + "/AntiTNT <reload>");
            }
            if(args.length == 1) {
                if(args[0].equalsIgnoreCase("reload")) {
                    gonderen.sendMessage(ChatColor.GREEN + "Config Yenileniyor...");
                    getLogger().info(ChatColor.GREEN + "Config Yenileniyor...");
                    reloadConfig();
                    gonderen.sendMessage(ChatColor.GREEN + "Config Yenilendi");
                    getLogger().info(ChatColor.GREEN + "Config Yenilendi");
                }
            }
            return true;
        }
        return false;
    }
 
}

Config.YML

Kod:
TNT-PLACE: false
TNT-Mesaj: TNT Kullanmak Yasaktir!
TNT-BLOCK-HASAR: false
CEZA: true
# Kodlayan Minecraft Türkiye // Muhammed2188

Plugin.YML
Kod:
name: AntiTNT
main: com.tnt.TNT.TNT
version: 1.0
author: Muhammed2188
commands:
  AntiTNT:
      description: AntiTNT Komutlari

Not 2:Eğer Bug(Hata) varsa lütfen mesaj atınız yapabildiğim kadar düzeltmeye çalışacağım
Bu plugini yapmamın sebebi başka engelliyecek pluginin mevcut olmaması (Var ama örneğin tek AntiCreeper3 Plugini 1.7.2 Sürümü mevcut olmasına rağmen "entityexplosionevent" hataları konsolda spam yapıyor.Başka plugin ben hiç görmedim ve plugini alıntı vb.. yapmadım)

Plugin Link:
Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
 
Son düzenleme:

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
Güzel ben direk TNTyi engelleyen bir plugin yapmıştım bu daha iyi gibi duruyor :D
 

Emir77

Elmas Madencisi
En iyi cevaplar
0
AntiCreeper plugini de benziyor ama çok başarılı yaptigin plugin tebrikler.

Ayakkabı Kutusundan Tapatalk ile Gönderildi
 
Üst