Basit tuzak plugini

Cuaresma45

Altın Madencisi
En iyi cevaplar
0
Merhaba arkadaşlar daha java kodlamayı bilmediğim için sizden bir plugin istiyeceğim. Aslında bana plugin değil onun eclipsedeki kodu lazım. Kodu yazı olarak veya ekran görüntüsü olarak atabilirsiniz. Plugin Şöyle olacak. Bir komutla(test olabilir farketmez) elimize tuzak adlı bir blok gelicek. Hangi bloğun geliceği farketmez. O bloğu bir yere koyacağız ve o bloğu kırana bir şey olucak. ne olacağı da farketmez ateşe de verebilirsiniz canını da azaltabilirsiniz veya kick de olur. @KRHN @KadirBerk
 

SFKY

Kızıltaş Madencisi
En iyi cevaplar
0
Şanslı günündesin üşenmedim yazdım;
Sohbet penceresine "Tuzak" yaz, ve tuzak bloğunu al.
PHP:
package paket;

import java.util.Random;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class GorevimizTehlike extends JavaPlugin implements Listener {
 
    @Override
    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }
 
    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuSohbetEttiginde(AsyncPlayerChatEvent mevzu) {
        Player oyuncu = mevzu.getPlayer();
        if (mevzu.getMessage().equalsIgnoreCase("tuzak")) {
            if (oyuncu.hasPermission("tuzak.tuzakal")) {
                mevzu.setCancelled(true);
                ItemStack blok = new ItemStack(Material.EMERALD_BLOCK, 1);
                ItemMeta blokMeta = blok.getItemMeta();
                blokMeta.setDisplayName("§aTuzak");
                blok.setItemMeta(blokMeta);
                oyuncu.getInventory().addItem(blok);
                oyuncu.updateInventory();
                oyuncu.sendMessage("§aTuzak bloğu alındı.");
            }
        }
    }
 
    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokYerlestirdiginde(BlockPlaceEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            if (mevzu.getPlayer().hasPermission("tuzak.tuzakolustur")) {
                Random rastgele = new Random();
                int sonuc = rastgele.nextInt();
                this.getConfig().set("tuzak-bloklar." + sonuc + ".dunya", mevzu.getBlock().getWorld().getName());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".x", mevzu.getBlock().getLocation().getX());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".y", mevzu.getBlock().getLocation().getY());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".z", mevzu.getBlock().getLocation().getZ());
                this.saveConfig();
                this.reloadConfig();
                mevzu.getPlayer().sendMessage("§aTuzak oluşturuldu!");
            }
        }
    }
 
    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokKirdiginda(BlockBreakEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            if (!(this.getConfig().isConfigurationSection("tuzak-bloklar"))) return;
            for (String anahtar : this.getConfig().getConfigurationSection("tuzak-bloklar").getKeys(false)) {
                String dunya =  this.getConfig().getString("tuzak-bloklar." + anahtar + ".dunya");
                double x = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".x");
                double y = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".y");
                double z = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".z");
                Location konum = new Location(Bukkit.getServer().getWorld(dunya), x, y, z);
                Location blokKonum = mevzu.getBlock().getLocation();
                if (blokKonum.equals(konum)) {
                    this.getConfig().set("tuzak-bloklar." + anahtar, null);
                    this.saveConfig();
                    this.reloadConfig();
                    Random joker = new Random();
                    int sonuc = joker.nextInt(3);
                    switch (sonuc) {
                    case 0:
                        mevzu.getPlayer().setFireTicks(5 * 20);
                        break;
                    case 1:
                        mevzu.getPlayer().getWorld().spawn(mevzu.getPlayer().getLocation(), TNTPrimed.class).setFuseTicks(0);
                        mevzu.getPlayer().sendMessage("§3LOL :D");
                        break;
                    case 2:
                        mevzu.getPlayer().setVelocity(mevzu.getPlayer().getLocation().getDirection().setY(2D));
                        break;
                    default:
                        break;
                    }
                }
            }
        }
    }

}
 

Sarper170

Obsidyen Madencisi
En iyi cevaplar
0
Şanslı günündesin üşenmedim yazdım;
Sohbet penceresine "Tuzak" yaz, ve tuzak bloğunu al.
PHP:
package paket;

import java.util.Random;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class GorevimizTehlike extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuSohbetEttiginde(AsyncPlayerChatEvent mevzu) {
        Player oyuncu = mevzu.getPlayer();
        if (mevzu.getMessage().equalsIgnoreCase("tuzak")) {
            if (oyuncu.hasPermission("tuzak.tuzakal")) {
                mevzu.setCancelled(true);
                ItemStack blok = new ItemStack(Material.EMERALD_BLOCK, 1);
                ItemMeta blokMeta = blok.getItemMeta();
                blokMeta.setDisplayName("§aTuzak");
                blok.setItemMeta(blokMeta);
                oyuncu.getInventory().addItem(blok);
                oyuncu.updateInventory();
                oyuncu.sendMessage("§aTuzak bloğu alındı.");
            }
        }
    }

    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokYerlestirdiginde(BlockPlaceEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            if (mevzu.getPlayer().hasPermission("tuzak.tuzakolustur")) {
                Random rastgele = new Random();
                int sonuc = rastgele.nextInt();
                this.getConfig().set("tuzak-bloklar." + sonuc + ".dunya", mevzu.getBlock().getWorld().getName());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".x", mevzu.getBlock().getLocation().getX());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".y", mevzu.getBlock().getLocation().getY());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".z", mevzu.getBlock().getLocation().getZ());
                this.saveConfig();
                this.reloadConfig();
                mevzu.getPlayer().sendMessage("§aTuzak oluşturuldu!");
            }
        }
    }

    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokKirdiginda(BlockBreakEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            if (!(this.getConfig().isConfigurationSection("tuzak-bloklar"))) return;
            for (String anahtar : this.getConfig().getConfigurationSection("tuzak-bloklar").getKeys(false)) {
                String dunya =  this.getConfig().getString("tuzak-bloklar." + anahtar + ".dunya");
                double x = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".x");
                double y = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".y");
                double z = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".z");
                Location konum = new Location(Bukkit.getServer().getWorld(dunya), x, y, z);
                Location blokKonum = mevzu.getBlock().getLocation();
                if (blokKonum.equals(konum)) {
                    this.getConfig().set("tuzak-bloklar." + anahtar, null);
                    this.saveConfig();
                    this.reloadConfig();
                    Random joker = new Random();
                    int sonuc = joker.nextInt(3);
                    switch (sonuc) {
                    case 0:
                        mevzu.getPlayer().setFireTicks(5 * 20);
                        break;
                    case 1:
                        mevzu.getPlayer().getWorld().spawn(mevzu.getPlayer().getLocation(), TNTPrimed.class).setFuseTicks(0);
                        mevzu.getPlayer().sendMessage("§3LOL :D");
                        break;
                    case 2:
                        mevzu.getPlayer().setVelocity(mevzu.getPlayer().getLocation().getDirection().setY(2D));
                        break;
                    default:
                        break;
                    }
                }
            }
        }
    }

}
Pluginin adı oldukça güzelmiş :/...
 

Cuaresma45

Altın Madencisi
En iyi cevaplar
0
Şanslı günündesin üşenmedim yazdım;
Sohbet penceresine "Tuzak" yaz, ve tuzak bloğunu al.
PHP:
package paket;

import java.util.Random;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class GorevimizTehlike extends JavaPlugin implements Listener {
 
    @Override
    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }
 
    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuSohbetEttiginde(AsyncPlayerChatEvent mevzu) {
        Player oyuncu = mevzu.getPlayer();
        if (mevzu.getMessage().equalsIgnoreCase("tuzak")) {
            if (oyuncu.hasPermission("tuzak.tuzakal")) {
                mevzu.setCancelled(true);
                ItemStack blok = new ItemStack(Material.EMERALD_BLOCK, 1);
                ItemMeta blokMeta = blok.getItemMeta();
                blokMeta.setDisplayName("§aTuzak");
                blok.setItemMeta(blokMeta);
                oyuncu.getInventory().addItem(blok);
                oyuncu.updateInventory();
                oyuncu.sendMessage("§aTuzak bloğu alındı.");
            }
        }
    }
 
    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokYerlestirdiginde(BlockPlaceEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            if (mevzu.getPlayer().hasPermission("tuzak.tuzakolustur")) {
                Random rastgele = new Random();
                int sonuc = rastgele.nextInt();
                this.getConfig().set("tuzak-bloklar." + sonuc + ".dunya", mevzu.getBlock().getWorld().getName());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".x", mevzu.getBlock().getLocation().getX());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".y", mevzu.getBlock().getLocation().getY());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".z", mevzu.getBlock().getLocation().getZ());
                this.saveConfig();
                this.reloadConfig();
                mevzu.getPlayer().sendMessage("§aTuzak oluşturuldu!");
            }
        }
    }
 
    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokKirdiginda(BlockBreakEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            if (!(this.getConfig().isConfigurationSection("tuzak-bloklar"))) return;
            for (String anahtar : this.getConfig().getConfigurationSection("tuzak-bloklar").getKeys(false)) {
                String dunya =  this.getConfig().getString("tuzak-bloklar." + anahtar + ".dunya");
                double x = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".x");
                double y = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".y");
                double z = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".z");
                Location konum = new Location(Bukkit.getServer().getWorld(dunya), x, y, z);
                Location blokKonum = mevzu.getBlock().getLocation();
                if (blokKonum.equals(konum)) {
                    this.getConfig().set("tuzak-bloklar." + anahtar, null);
                    this.saveConfig();
                    this.reloadConfig();
                    Random joker = new Random();
                    int sonuc = joker.nextInt(3);
                    switch (sonuc) {
                    case 0:
                        mevzu.getPlayer().setFireTicks(5 * 20);
                        break;
                    case 1:
                        mevzu.getPlayer().getWorld().spawn(mevzu.getPlayer().getLocation(), TNTPrimed.class).setFuseTicks(0);
                        mevzu.getPlayer().sendMessage("§3LOL :D");
                        break;
                    case 2:
                        mevzu.getPlayer().setVelocity(mevzu.getPlayer().getLocation().getDirection().setY(2D));
                        break;
                    default:
                        break;
                    }
                }
            }
        }
    }

}
Plugin süper de daha basitini yazsan. Daha yeni başladım yani mantığını anlamam lazım. Mesela adı tuzak olan bir zümrüt bloğunu kırınca bir şey olmasını istiyorum. Bu ifadeyi İF in içine nasıl yazabilirim. Ve pluginde bloğu kırınca o blok patlayan bir TNT ye dönüşsün. Başka bir şeye gerek yok.
 

SFKY

Kızıltaş Madencisi
En iyi cevaplar
0
Plugin süper de daha basitini yazsan. Daha yeni başladım yani mantığını anlamam lazım. Mesela adı tuzak olan bir zümrüt bloğunu kırınca bir şey olmasını istiyorum. Bu ifadeyi İF in içine nasıl yazabilirim. Ve pluginde bloğu kırınca o blok patlayan bir TNT ye dönüşsün. Başka bir şeye gerek yok.
Yerleştirilmiş bloğun itemmeta kontrol edemezsin sadece bloğun kendi adını kontrol edersin.
aşağıda ki kod bak;
PHP:
    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokKiracaginda(final BlockBreakEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            mevzu.setCancelled(true);
            mevzu.getBlock().setType(Material.TNT);
            new BukkitRunnable() {
                @Override
                public void run() {
                    mevzu.getBlock().setType(Material.AIR);
                    mevzu.getBlock().getWorld().spawn(mevzu.getBlock().getLocation(), TNTPrimed.class).setFuseTicks(0);
                }
            }.runTaskLater(this, 20L);
        }
    }
 

zRedDragon

Elmas Madencisi
En iyi cevaplar
0
Plugin süper de daha basitini yazsan. Daha yeni başladım yani mantığını anlamam lazım. Mesela adı tuzak olan bir zümrüt bloğunu kırınca bir şey olmasını istiyorum. Bu ifadeyi İF in içine nasıl yazabilirim. Ve pluginde bloğu kırınca o blok patlayan bir TNT ye dönüşsün. Başka bir şeye gerek yok.
Texture Pack Kullanabilirsin.Örneğin Tnt yi Çimen Gibi Gösterip 400 Blokta Bir Yerleştirilip Vurunca Patlamasını Skriptle Yapabilirsin.Ama Yinede Tercih Sana Kalmış.Veya Komut Bloğu İlede Yapılabilir.
 

blade20090999

Kızıltaş Madencisi
En iyi cevaplar
0
Şanslı günündesin üşenmedim yazdım;
Sohbet penceresine "Tuzak" yaz, ve tuzak bloğunu al.
PHP:
package paket;

import java.util.Random;

import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

public class GorevimizTehlike extends JavaPlugin implements Listener {

    @Override
    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuSohbetEttiginde(AsyncPlayerChatEvent mevzu) {
        Player oyuncu = mevzu.getPlayer();
        if (mevzu.getMessage().equalsIgnoreCase("tuzak")) {
            if (oyuncu.hasPermission("tuzak.tuzakal")) {
                mevzu.setCancelled(true);
                ItemStack blok = new ItemStack(Material.EMERALD_BLOCK, 1);
                ItemMeta blokMeta = blok.getItemMeta();
                blokMeta.setDisplayName("§aTuzak");
                blok.setItemMeta(blokMeta);
                oyuncu.getInventory().addItem(blok);
                oyuncu.updateInventory();
                oyuncu.sendMessage("§aTuzak bloğu alındı.");
            }
        }
    }

    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokYerlestirdiginde(BlockPlaceEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            if (mevzu.getPlayer().hasPermission("tuzak.tuzakolustur")) {
                Random rastgele = new Random();
                int sonuc = rastgele.nextInt();
                this.getConfig().set("tuzak-bloklar." + sonuc + ".dunya", mevzu.getBlock().getWorld().getName());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".x", mevzu.getBlock().getLocation().getX());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".y", mevzu.getBlock().getLocation().getY());
                this.getConfig().set("tuzak-bloklar." + sonuc + ".z", mevzu.getBlock().getLocation().getZ());
                this.saveConfig();
                this.reloadConfig();
                mevzu.getPlayer().sendMessage("§aTuzak oluşturuldu!");
            }
        }
    }

    @EventHandler(priority = EventPriority.NORMAL)
    private void oyuncuBlokKirdiginda(BlockBreakEvent mevzu) {
        if (mevzu.getBlock().getType().equals(Material.EMERALD_BLOCK)) {
            if (!(this.getConfig().isConfigurationSection("tuzak-bloklar"))) return;
            for (String anahtar : this.getConfig().getConfigurationSection("tuzak-bloklar").getKeys(false)) {
                String dunya =  this.getConfig().getString("tuzak-bloklar." + anahtar + ".dunya");
                double x = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".x");
                double y = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".y");
                double z = this.getConfig().getDouble("tuzak-bloklar." + anahtar + ".z");
                Location konum = new Location(Bukkit.getServer().getWorld(dunya), x, y, z);
                Location blokKonum = mevzu.getBlock().getLocation();
                if (blokKonum.equals(konum)) {
                    this.getConfig().set("tuzak-bloklar." + anahtar, null);
                    this.saveConfig();
                    this.reloadConfig();
                    Random joker = new Random();
                    int sonuc = joker.nextInt(3);
                    switch (sonuc) {
                    case 0:
                        mevzu.getPlayer().setFireTicks(5 * 20);
                        break;
                    case 1:
                        mevzu.getPlayer().getWorld().spawn(mevzu.getPlayer().getLocation(), TNTPrimed.class).setFuseTicks(0);
                        mevzu.getPlayer().sendMessage("§3LOL :D");
                        break;
                    case 2:
                        mevzu.getPlayer().setVelocity(mevzu.getPlayer().getLocation().getDirection().setY(2D));
                        break;
                    default:
                        break;
                    }
                }
            }
        }
    }

}
[/SPOILER]
Ben üşendim :D
Mantığıysa şu elindeki dia blok tnt vesayre hiç farketmez blok yerleştirme işleminde bloğun konumu x y z olarak kayıt edilir eğer oyuncu kırma eventinde kırdığı bloğun x y z si uyarsa patlama efekti versin banlasın kicklesin :D tabi place eventinde x y z alabiliyoruz fakat kırma eventinde alıyormuyduk unuttum.Şimdi dersen ben yeniyim yapamam sana tavsiyem indir bi decomplier yada sahibine sor yada burdakiler benim mantığı koda çevirsinler yada githuba gir bir maden takip pluginin kaynak kodlarına gir bak orda nasıl kayıt etmişler blokların kırılma ve replace koordinatlarını anlamaya çalış zaten böyle öğrenilir plugin kodlama.
 

SFKY

Kızıltaş Madencisi
En iyi cevaplar
0
Ben üşendim :D
Mantığıysa şu elindeki dia blok tnt vesayre hiç farketmez blok yerleştirme işleminde bloğun konumu x y z olarak kayıt edilir eğer oyuncu kırma eventinde kırdığı bloğun x y z si uyarsa patlama efekti versin banlasın kicklesin :D tabi place eventinde x y z alabiliyoruz fakat kırma eventinde alıyormuyduk unuttum.Şimdi dersen ben yeniyim yapamam sana tavsiyem indir bi decomplier yada sahibine sor yada burdakiler benim mantığı koda çevirsinler yada githuba gir bir maden takip pluginin kaynak kodlarına gir bak orda nasıl kayıt etmişler blokların kırılma ve replace koordinatlarını anlamaya çalış zaten böyle öğrenilir plugin kodlama.
Êmre bana mı gönderme yaptın :D
 

blade20090999

Kızıltaş Madencisi
En iyi cevaplar
0
Tuzak pl bana lazım değil ki arkadaş için yazdım herhangi bir blok ile olacağı için emerald_block yapmıştm
Gönderme derken yanlıs anlaşılmasın ben fikri verdim bilen iyi biri yapsın dedim :( arkadasa kod olarak yorum atması adına yanlıs anladın beni sanırım.
 
Üst