Vuruş uzaklığı ve efekti ayarlanabilir mi?

Blackixq

Ben artık biraz çöktüm albayım.
En iyi cevaplar
1
Selamlar Arkadaşlar,
Minecraft da biliyosunuz ki belirli bir vuruş uzaklığı var ( block olarak ) bu vuruş sınırı ( hit ) ayarlanabilir mi ? yani normal hali 5 Blocksa ben onu 3 e düşürmek istiyorum ayrıca vurduğumuzda çıkan efekti de değiştirebiliyor muyuz? Tabii bu dediklerimi sağlayan bir spigot ayarı veya plugin var mı? Skriptle pek olacağını düşünmüyorum açıkçası. İnternette bulamadım fakat derin bir araştırma yapmadım.

Hayırlı Bayramlar Dilerim.
 

Kovalski_Eyes

Kızıltaş Madencisi
En iyi cevaplar
0
yapılır skript ile ama kimse uğraşma buna. Ayrıca direkt olarak düz vuruşu değiştiremezsin sadece o kodların üstüne yeni kodlar ekleyerek gereksiz yük yaparsın sunucuya
 

VictoryAndGlory

Kızıltaş Madencisi
En iyi cevaplar
0
Düz vuruş eventini iptal edip o event geçtiğinde önce hedef uzaklığını kontrol edip sonra hasarı verdirirsin, efekti de hedefe verebilirsin.. Pluginle de yapılır skript ile de.
 

utsukushihito

Marangoz
En iyi cevaplar
0
Kod:
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (label.equalsIgnoreCase("investigate")) {
            if (!(sender instanceof Player)) {
                sender.sendMessage("Silly Robot, This command is for players!");
                return false;
            }
            Player player = (Player) sender;
            if (player.hasPermission("MMOClasses.mage.levitation")) {
                List<Entity> nearbyE = player.getNearbyEntities(10, 10, 10);
                ArrayList<LivingEntity> livingE = new ArrayList<LivingEntity>();
                for (Entity e : nearbyE) {
                    if (e instanceof LivingEntity) {
                        livingE.add((LivingEntity) e);
                    }
                }
                plugin.target = null;
                BlockIterator bItr = new BlockIterator(plugin.player, plugin.range);
                Block block;
                Location loc;
                int bx, by, bz;
                double ex, ey, ez;
                // loop through player's line of sight
                while (bItr.hasNext()) {
                    block = bItr.next();
                    bx = block.getX();
                    by = block.getY();
                    bz = block.getZ();
                    // check for entities near this block in the line of sight
                    for (LivingEntity e : livingE) {
                        loc = e.getLocation();
                        ex = loc.getX();
                        ey = loc.getY();
                        ez = loc.getZ();
                        if ((bx - .75 <= ex && ex <= bx + 1.75) && (bz - .75 <= ez && ez <= bz + 1.75) && (by - 1 <= ey && ey <= by + 2.5)) {
                            // entity is close enough, set target and stop
                            plugin.target = e;
                            break;
                        }
                    }
                }
            }
            return false;
        }
        return true;
    }

bu kodu anlayabilirsen yardımı olucaktır önemli olan kısmı;
'if (player.hasPermission("MMOClasses.mage.levitation")) {' bu if in altındaki kısım gerisi önemli değil konuyla alakası yok

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.
bu konuda yardımcı olur, ayrıca lineofsight methoduna bakmanıda öneririm ondanda yapılır
 

Axel102

Hayalet Avcısı
En iyi cevaplar
6
spigotta ayarı var diye hatırlıyorum skript
Kod:
on damage of player:
 distance between location attacker and victim is bigger than 3:
  cancel event
 
Üst