(PLUGIN) Burada ne hatam var ?

YgtGamingTR

Elmas Madencisi
Mesajlar
804
En iyi cevaplar
0
Beğeniler
482
Puanları
0
arkadaşlar yapmak istediğim şey guclen permissionuna sahip bir oyuncu çubuğa tıkladığında 180 saniyelik güç 1 alacak fakat çubuğa sağ tıkladığımda bir şey olmuyor ve panelde hata çıkmıyor lütfen yardımcı olurmusunuz.
@Personinblack @karahan117 @SpringHat @MegaCrafter @Minecraftplayerr @McWeb
Kod:
package savasci.pack;

import org.bukkit.Material;
import org.bukkit.command.CommandExecutor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class savasci extends JavaPlugin implements CommandExecutor {
    @EventHandler
    public void OnPlayerUse(PlayerInteractEvent Event){
        Player oyuncu = Event.getPlayer() ;
        if(oyuncu.hasPermission("guclen"))
        if(oyuncu.getItemInHand().getType() == Material.STICK)
        oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180, 1));
        {
    
    
    
    
    
    
    
    
    
    
    
    
        }
    }

    
    
    }
 


Admicos

Nether Yerlisi
Mesajlar
2,362
En iyi cevaplar
1
Beğeniler
1,580
Puanları
4,890
Ruh hali
Koddaki büyük boşlukları saymassak,
Kod:
if(oyuncu.getItemInHand().getType() == Material.STICK)
oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180, 1));
{

Bu kısımdaki oyuncu ile başlayan satırı {'ın altına al
 

YgtGamingTR

Elmas Madencisi
Mesajlar
804
En iyi cevaplar
0
Beğeniler
482
Puanları
0
Listener olmasın?
ekledim olmadı
Kod:
package savasci.pack;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class savasci extends JavaPlugin implements Listener{
    @EventHandler
    public void OnPlayerUse(PlayerInteractEvent Event){   
        Player oyuncu = Event.getPlayer() ;
        if(oyuncu.hasPermission("guclen"))
        if(oyuncu.getItemInHand().getType() == Material.STICK)
        
            oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180, 1));
        
        
        
        
        
        
        
        
        
        
        
        
        }
    }
 

Personinblack

YASAKLANDI
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
Eğer ki tüm class buysa hatalar şunlar:
  • Hala class isimlendirmesini bilmiyorsun
  • Metod isimlendirmesinide bilmiyorsun
  • Event onEnable üzerinde kaydedilmemiş hatta onEnable diye bir metod yok
  • O şekilde if oluşturulmaz! Sonra kafanı kırarlar karışmam...
TL;DR: Hala Java bilmiyorsun ve hala plugin yazmaya çalışıyorsun.
 

Admicos

Nether Yerlisi
Mesajlar
2,362
En iyi cevaplar
1
Beğeniler
1,580
Puanları
4,890
Ruh hali
ekledim olmadı
Kod:
package savasci.pack;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

public class savasci extends JavaPlugin implements Listener{
    @EventHandler
    public void OnPlayerUse(PlayerInteractEvent Event){  
        Player oyuncu = Event.getPlayer() ;
        if(oyuncu.hasPermission("guclen")) {
          if(oyuncu.getItemInHand().getType() == Material.STICK) {
              oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180, 1));
          }
       }
    }
}

bir tane { unutmuşsun. ve şu gerekisz boşlukları da sildim.
 

Personinblack

YASAKLANDI
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
@Personinblack'in dediği gibi onEnable adında bir metot oluşturup bu metodun içinde Listener'ı kayıt etmen gerek.
Kod:
@Override
public void onEnable() {
    Bukkit.getPluginManager().registerEvents(this, this);
}
Öncesinde Java öğrenmesi gereken birisine bu bilgiyi vermen yanlış. Kaldı ki bu bilgiyi Spigot'ın wikisindeki ufak tutorial sayfasına bakarak da rahatlıkla edinebilir Java bilen birisi.
 

YgtGamingTR

Elmas Madencisi
Mesajlar
804
En iyi cevaplar
0
Beğeniler
482
Puanları
0
Eğer ki tüm class buysa hatalar şunlar:
  • Hala class isimlendirmesini bilmiyorsun
  • Metod isimlendirmesinide bilmiyorsun
  • Event onEnable üzerinde kaydedilmemiş hatta onEnable diye bir metod yok
  • O şekilde if oluşturulmaz! Sonra kafanı kırarlar karışmam...
  • Listenerda im
TL;DR: Hala Java bilmiyorsun ve hala plugin yazmaya çalışıyorsun.
on enableyı koymayı unuttum ve haklısın java bilmiyorum sadece spigot ve bukkit üzerindeki eventleri biraz öğrenmeye çalışıyorum
 

Personinblack

YASAKLANDI
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
on enableyı koymayı unuttum ve haklısın java bilmiyorum sadece spigot ve bukkit üzerindeki eventleri biraz öğrenmeye çalışıyorum
Bu yüzden yaptığının yanlış olduğunu söylüyorum işte. Öncesinde Java öğren ki yaptığın işten zevk alabil ve neyi niye yaptığını bilebil. Aksi halde sürekli başkalarına sorarak hatalarını çözmeye çalışan bir lamer olarak kalırsın 1 metre ilerleyemezsin.
 

YgtGamingTR

Elmas Madencisi
Mesajlar
804
En iyi cevaplar
0
Beğeniler
482
Puanları
0
Bu yüzden yaptığının yanlış olduğunu söylüyorum işte. Öncesinde Java öğren ki yaptığın işten zevk alabil ve neyi niye yaptığını bilebil. Aksi halde sürekli başkalarına sorarak hatalarını çözmeye çalışan bir lamer olarak kalırsın 1 metre ilerleyemezsin.
teşekkür ederim
hep diyordum neden hiçbir yaptığımı beğenmiyorsun diye
meğer iyiliğim içinmiş ._.
 

CoffeeBeat

Zindev
Mesajlar
501
En iyi cevaplar
0
Beğeniler
958
Puanları
1,320
Böyle hataları deneye deneye çözersin.

Başka bir detaydan bahsediyim,PotionEffect constructorunun aldığı süre tick.
Yani 180 saniye yapmak istiyorsan şu şekilde olacak;
oyuncu.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 180*20, 1));
 

Üst