SFKY
Kızıltaş Madencisi
- Mesajlar
- 667
- En iyi cevaplar
- 0
- Beğeniler
- 296
- Puanları
- 0
Merhaba arkadaşlar antipvp gibi bir plugin yaptım aklıma geldi ama pl jar dosyasını paylaşmayacağım kaynak kodlarını kullanmak isteyen kullanabilir.
Eklenti amacı: Bir oyuncu başka bir oyuncu tarafından saldırıya uğrarsa config.yml sağlık puani ile canı eşitse (örnek kurban canı 2 kalp kaldığında) kurban spawn ışınlar. böylelikle pvp eğlenceli bir şekilde engellemiş oluruz.
Eklenti amacı: Bir oyuncu başka bir oyuncu tarafından saldırıya uğrarsa config.yml sağlık puani ile canı eşitse (örnek kurban canı 2 kalp kaldığında) kurban spawn ışınlar. böylelikle pvp eğlenceli bir şekilde engellemiş oluruz.
PHP:
package me.greenarrow.antipvp;
import org.bukkit.Bukkit;
//import org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer;
import org.bukkit.entity.Damageable;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public class AntiPvp extends JavaPlugin implements Listener {
@Override
public void onEnable() { // Eklenti yuklendiginde olacak olaylar.
PluginManager eklentiYoneticisi = Bukkit.getPluginManager(); // Bukkit eklenti yoneticisini tanimladik.
eklentiYoneticisi.registerEvents(this, this); // Eklenti, eklenti yoneticisine kayde-dik.
getConfig().options().copyDefaults(true); // Yapilandirma dosyasini kopyala;
saveConfig(); // Yapilandirma dosyasini kaydet;
}
@Override
public void onLoad() { // Eklenti yukleniyorken olacak olaylar.
}
@Override
public void onDisable() { // Eklenti kapandiginda olacak olaylar.
}
@EventHandler (priority = EventPriority.NORMAL) // Olay isleyici ve olay onceligi.
public void oyuncuHasarAldiginda(EntityDamageByEntityEvent olay) { // Oyuncu hasar alma olayi.
Entity avci = olay.getDamager(); // Saldirgani bir varlik olarak gosterdim.
Entity av = olay.getEntity(); // Kurban bir varlik olarak tanimladim.
if (olay.getEntity() instanceof Player && olay.getDamager() instanceof Player) { // Eger varlik oyuncu ise ve Eger saldirgan oyuncu ise;
Player kurban = (Player) av; // Hasar alan oyuncu
Player saldirgan = (Player) avci; // Saldirgan oyuncu
//double saglik = ((CraftPlayer) kurban).getHandle().getHealth(); - burasi onemli bir yer degil.
Damageable hasarli = kurban;
if (kurban.getWorld().getName().equals(getConfig().getString("eklenti-etkin-oldugu-dunya-adi"))) { // Eger kurban bulundugu dunyanin adi world ise;
if (hasarli.getHealth() == 19) { // Eger hasarli oyuncunun cani 19 ise;
if (getConfig().getBoolean("mesajlar")) {
kurban.chat(getConfig().getString("kurban-saldirgana-tepki-mesaji").replaceAll("&", "§").replace("%kurban-adi%", kurban.getName()).replace("%saldirgan-adi%", saldirgan.getName())); // Cevredeki oyuncuya bir mesaj gondersin.
}
}
else {
}
if (hasarli.getHealth() <= getConfig().getDouble("saglik-puani")) { // Hasarli oyuncunun belirtilen sayidan kucuk ise;
kurban.teleport(kurban.getWorld().getSpawnLocation()); // Kurban bulundugu dunyanin baslangic yerine (spawn) isinlansin.
kurban.getWorld().strikeLightningEffect(kurban.getEyeLocation()); // Kurban'da simsek efekti olsun.
kurban.setHealth(hasarli.getMaxHealth()); // Kurban canini maksimum yaptik.
if (getConfig().getBoolean("mesajlar")) {
saldirgan.sendMessage(getConfig().getString("kurbanin-saldirgana-mesaji").replaceAll("&", "§").replace("%kurban-adi%", kurban.getName()).replace("%saldirgan-adi%", saldirgan.getName())); // Kurban saldirgana bir mesaj gondersin.
kurban.sendMessage(getConfig().getString("savastan-kurtulmus-kurbana-mesaj").replaceAll("&", "§").replace("%saldirgan-adi%", saldirgan.getName()).replace("%kurban-adi%", kurban.getName())); // Kurbana mesaj gonderdik.
}
if (getConfig().getBoolean("saglik-mesaji")) {
kurban.sendMessage("§aSagliginiz: §c" + hasarli.getHealth()); // Kurbana mesaj gonderdik.
}
else {
}
}
else {
}
}
else {
}
}
else {
}
}
}
Son düzenleme: