[Minecraft Plugini] Lanet 1.0 - Oyuncuları Lanetlemeye hazırmısın?

Sizce Güzel mi?

  • Mükemmel

    Kullanılan: 11 73.3%
  • Fena değil

    Kullanılan: 2 13.3%
  • Kötü ( Neden olduğunu yorumda belirtirseniz sevinirim :) )

    Kullanılan: 2 13.3%

  • Kullanılan toplam oy
    15

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
Merhaba arkadaşlar, bir proje ile daha karşınızdayım. Üç günün sonucunda yaptığım ufak fakat kodlanması zor bir eklenti yazdım. Üç gün uğraşmama nazaran hala bir kaç adet bug(açık) bulunmakta. Düzeltmeyi denedim fakat tek başıma çalıştığım için yardım alabileceğim tek yer forum oluyor ve insanlara fazla rahatsızlıkta vermek istemiyorum. İnternet'den araştırma yaparak zar zor yaptım fakat yardım edenlere teşekkürler, eklentiye dönelim. Bu eklentinin pek bir amacı yoktur sunucuya her hangi bir katkısı yoktur lakin eğlenmek için işe yarayabilir. Nereden geldi aklıma böyle saçma bir şey derseniz @ByNovem 'in kodladığı Skript aklıma böyle bir şey getirdi. Yaparken ondan izin almadım fakat hoşuna gitmezse eklentiyi paylaşıma kapalı yapabilirim. Evet bana bu fikri veren videoyu izleyelim.

1.10 - 1.30 Arası


Tıpa tıp aynısını yapmak istemedim biraz farkı yaptım. Resimlerden de göreceksiniz evet resimlere geçelim!





Komutlar ve Yetkiler

/lanetle <oyuncu> - lanetle.lanetle (Kapamak için 2. defa kodu girmek yeterlidir.)

Kaynak Kodu (Projelerimi Tek Class'ta yapmak kolay geldiği için normalden uzun oldu.)​
Kod:
package me.Schaffer79.Lanet;

import java.util.HashMap;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
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.BlockBreakEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{
  
  
    public void onEnable(){
        getLogger().info("Lanet Plugini Aktif!");
        Bukkit.getServer().getPluginManager().registerEvents(this,this);
    }
  
    public void onDisable(){
        getLogger().info("Lanet Plugini Kapatildi!");
    }
  
  
    /*
    *Variables
    */
    boolean kontrol4 = false;
    boolean kontrol3 = true;
    boolean kontrol = false;
    int i = 1;
    Block c1,c2,c3,c4,c5,c6,c7,c8,c9;
    Block d1,d2,d3,d4,d5,d6,d7,d8,d9;
    Block b1,b2,b3,b4,b5,b6,b7,b8,b9;
    Material m1,m2,m3,m4,m5,m6,m7,m8,m9;
    HashMap<String, Integer> map = new HashMap<String, Integer>();

        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
          
            if(cmd.getName().equalsIgnoreCase("lanetle")){
              
                if(sender.hasPermission("lanetle.lanetle")){
              
                Player player = Bukkit.getPlayerExact(args[0]);
                if(args.length == 0){
                    sender.sendMessage(ChatColor.GOLD + "[Lanet]" + ChatColor.RED + "Lütfen bir oyuncu ismi girin!");
                }else if(player==null){
                    sender.sendMessage(ChatColor.GOLD + "[Lanet]" + ChatColor.RED + "Aradığınız oyuncu bulunamadı!");
                }else{
              
              
              

                String name = player.getName();
              
                if(kontrol3==true || map.get(name) == null){
                    kontrol3 = false;
                    map.put(name, 0);
                    kontrol4 = true;
                }
              
                if(map.get(name) == 1){
                    map.put(name, 0);
                    sender.sendMessage(ChatColor.GOLD + "[Lanet]" + ChatColor.RED + name + " Isimli oyuncunun lanetini kaldırdınız!!");
                }else{
                    map.put(name, 1);
                    sender.sendMessage(ChatColor.GOLD + "[Lanet]" + ChatColor.RED + name + " Isimli oyuncuyu lanetlediniz!");
                }
                return true;
                }
            }else{
                sender.sendMessage(ChatColor.GOLD + "[Lanet]" + ChatColor.RED + "Gerekli Yetkiye Sahip Degilsiniz!");
                }
            }
            return false;
        }
  
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e){
        String name = e.getPlayer().getName();
        if(map.get(name) != 1)
        map.put(name, 3);
    }
  
    @EventHandler
    public void onBlockBreak(BlockBreakEvent event){
        if(event.getBlock() == b1 || event.getBlock() == b2 || event.getBlock() == b3 || event.getBlock() == b4 || event.getBlock() == b5 || event.getBlock() == b6 || event.getBlock() == b7 || event.getBlock() == b8 || event.getBlock() == b9){
            event.setCancelled(true);
        }
    }
      
  
    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event){
      
        String name = event.getPlayer().getName();
      
        if(kontrol4 = true){
        if(map.get(name) != null && map.get(name) == 1){
      
        Location loc = event.getPlayer().getLocation();
        loc.setY(loc.getY() - 1);
        b1 = loc.getBlock();
        loc.setX(loc.getX() + 1);
        b2 = loc.getBlock();
        loc.setX(loc.getX() - 2);
        b3 = loc.getBlock();
        loc = event.getPlayer().getLocation();
        loc.setY(loc.getY() - 1);
        loc.setZ(loc.getZ() - 1);
        b4 = loc.getBlock();
        loc.setZ(loc.getZ() + 2);
        b5 = loc.getBlock();
        loc = event.getPlayer().getLocation();
        loc.setY(loc.getY() - 1);
        loc.setZ(loc.getZ() + 1);
        loc.setX(loc.getX() + 1);
        b6 = loc.getBlock();
        loc.setX(loc.getX() - 2);
        b7 = loc.getBlock();
        loc.setZ(loc.getZ() - 2);
        b8 = loc.getBlock();
        loc.setX(loc.getX() + 2);
        b9 = loc.getBlock();
        if(b1.getType() != Material.AIR && b1.getType() != Material.LONG_GRASS && b1.getType() != Material.DOUBLE_PLANT)
        {
            if(b1!=c1 || kontrol == false)
            {
                kontrol = true;  
                if(i==2){
                    c1.setType(m1);
                    c2.setType(m2);
                    c3.setType(m3);
                    c4.setType(m4);
                    c5.setType(m5);
                    c6.setType(m6);
                    c7.setType(m7);
                    c8.setType(m8);
                    c9.setType(m9);
                    i = 3;
                }
        if(i==1){
            c1 = b1;
            c2 = b2;
            c3 = b3;
            c4 = b4;
            c5 = b5;
            c6 = b6;
            c7 = b7;
            c8 = b8;
            c9 = b9;
            m1 = c1.getType();
            m2 = c2.getType();
            m3 = c3.getType();
            m4 = c4.getType();
            m5 = c5.getType();
            m6 = c6.getType();
            m7 = c7.getType();
            m8 = c8.getType();
            m9 = c9.getType();
            i = 2;
        }
        if(i==3){
            c1 = b1;
            c2 = b2;
            c3 = b3;
            c4 = b4;
            c5 = b5;
            c6 = b6;
            c7 = b7;
            c8 = b8;
            c9 = b9;
            m1 = c1.getType();
            m2 = c2.getType();
            m3 = c3.getType();
            m4 = c4.getType();
            m5 = c5.getType();
            m6 = c6.getType();
            m7 = c7.getType();
            m8 = c8.getType();
            m9 = c9.getType();
            i = 2;
        }  
        b1.setType(Material.GLOWSTONE);
        b2.setType(Material.REDSTONE_BLOCK);
        b3.setType(Material.REDSTONE_BLOCK);
        b4.setType(Material.REDSTONE_BLOCK);
        b5.setType(Material.REDSTONE_BLOCK);
        b6.setType(Material.NETHERRACK);
        b7.setType(Material.NETHERRACK);
        b8.setType(Material.NETHERRACK);
        b9.setType(Material.NETHERRACK);
        }else if(b1==c1){
                b1.setType(Material.GLOWSTONE);
                b2.setType(Material.REDSTONE_BLOCK);
                b3.setType(Material.REDSTONE_BLOCK);
                b4.setType(Material.REDSTONE_BLOCK);
                b5.setType(Material.REDSTONE_BLOCK);
                b6.setType(Material.NETHERRACK);
                b7.setType(Material.NETHERRACK);
                b8.setType(Material.NETHERRACK);
                b9.setType(Material.NETHERRACK);
            }
            }
        }else if(map.get(name) == 0){
            map.put(name, 3);
    }else if(map.get(name) == 3){
            b1.setType(m1);
            b2.setType(m2);
            b3.setType(m3);
            b4.setType(m4);
            b5.setType(m5);
            b6.setType(m6);
            b7.setType(m7);
            b8.setType(m8);
            b9.setType(m9);
            map.put(name,4);
            }
        }  
    }
}


Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.



Yardım eden herkese teşekkürler.
Gelecek sürümde buglar kapanacaktır.​
 

umut_

┌────────────┐ [ 1881 - 193∞ ] └────────────┘
En iyi cevaplar
0
Lanetleyince Ne Oluyor Onu Anlamadım :) Videodaki 3. Şey Galiba Bu ?
 

umut_

┌────────────┐ [ 1881 - 193∞ ] └────────────┘
En iyi cevaplar
0
Şu anda sadece görsel efekt veriyor lakin istenilirse can götürmeyi de basit bir şekilde yapabilirim.
Tpa Atamama - Tpa Kabul Edememe - Konuşamama Fln Eklersen Jail + Mute Gibi bir şey Olur :)
 

IRFN

Sonoyuncu.Network
En iyi cevaplar
0
@ByNovem'in yazdığında komutla değil, özel bir item ile bir oyuncuya vurduğunda lanet devreye giriyordu. Lanetlenen oyuncunun oyun modu survival'e dönüşüyor, saniyelik canı gidiyor ve lanet bitene kadar oyuncu komut giremiyordu. Fikir vermesi açısından yazdım. @ByNovem acımasızdır, biz komut giremeyelim diye OP'ların bile komut girmesini engellemişti. Kendince açık olarak gördüğün şeyleri de halledersin zamanla...
 

bendeseni18

Marangoz
En iyi cevaplar
0
Beğenmedim Sebep: Bug Var Gibi Gözüküyor Resimde Lanetledigin Zaman Suda ilerleye bilir ?
 

KRHN

Yazılımcı Beyefendi
En iyi cevaplar
0
Beğenmedim Sebep: Bug Var Gibi Gözüküyor Resimde Lanetledigin Zaman Suda ilerleye bilir ?
O bug değil onu istersem kaldırırım çok basit bir şekilde.[DOUBLEPOST=1404224834,1404224763][/DOUBLEPOST]
@ByNovem'in yazdığında komutla değil, özel bir item ile bir oyuncuya vurduğunda lanet devreye giriyordu. Lanetlenen oyuncunun oyun modu survival'e dönüşüyor, saniyelik canı gidiyor ve lanet bitene kadar oyuncu komut giremiyordu. Fikir vermesi açısından yazdım. @ByNovem acımasızdır, biz komut giremeyelim diye OP'ların bile komut girmesini engellemişti. Kendince açık olarak gördüğün şeyleri de halledersin zamanla...
Teşekkürler dediklerinizi ekleyeceğim.
 

Enderiatus

Kızıltaş Madencisi
En iyi cevaplar
0
@ByNovem'in yazdığında komutla değil, özel bir item ile bir oyuncuya vurduğunda lanet devreye giriyordu. Lanetlenen oyuncunun oyun modu survival'e dönüşüyor, saniyelik canı gidiyor ve lanet bitene kadar oyuncu komut giremiyordu. Fikir vermesi açısından yazdım. @ByNovem acımasızdır, biz komut giremeyelim diye OP'ların bile komut girmesini engellemişti. Kendince açık olarak gördüğün şeyleri de halledersin zamanla...
@ByNovem 'in o yaptıgı gıcıklıklara hayranım ya :) Açıkcası plugin ve skript öğrenmeye sebep yapan etkenlerden biri kendisi.
 

umut_

┌────────────┐ [ 1881 - 193∞ ] └────────────┘
En iyi cevaplar
0
@ByNovem'in yazdığında komutla değil, özel bir item ile bir oyuncuya vurduğunda lanet devreye giriyordu. Lanetlenen oyuncunun oyun modu survival'e dönüşüyor, saniyelik canı gidiyor ve lanet bitene kadar oyuncu komut giremiyordu. Fikir vermesi açısından yazdım. @ByNovem acımasızdır, biz komut giremeyelim diye OP'ların bile komut girmesini engellemişti. Kendince açık olarak gördüğün şeyleri de halledersin zamanla...
Nicki Gözüme O Kadarda Korkutucu Gelmiyordu Bu Video Aklıma Gelince Tırsmaya Başladım Önceden İzlediğimde Önemsememiştim :D
 

IRFN

Sonoyuncu.Network
En iyi cevaplar
0
Nicki Gözüme O Kadarda Korkutucu Gelmiyordu Bu Video Aklıma Gelince Tırsmaya Başladım Önceden İzlediğimde Önemsememiştim :D
Son olarak şunu söyleyeyim, konu daha fazla dağılmasın. ByNovem lanet plugini ile lanetlediği kişinin komut yazmasını engelliyor demiştim. Creative 1 serverında Console'u lanetlemişti. Konsoldan bir komut girdiğinde lanetlisin diyordu. O konsol 6 ay boyunca lanetli kalmıştı, en son Skript verileri sıfırlanınca düzelmişti.
 
Üst