Protekce villagerů

Technická podpora k herním serverům Minecraft a Tekkit
Message
Autor
Mike8748
Příspěvky: 823
Registrován: 30 bře 2014, 10:05
Reputation: 28

Re: Protekce villagerů

#11 Příspěvekod Mike8748 » 07 srp 2016, 19:00

pokud jsou to obyčejní villageři tak nejjednodušší způsob je

Kód: Vybrat vše

/entitydata @e[type=Villager,r=20] {Invulnerable:1b}

tím všechny vesničany v dosahu 20 bloků učiníš pro běžné hráče nezranitelné

NEZNAMY
Příspěvky: 717
Věk: 26
Registrován: 31 kvě 2013, 20:00
Reputation: 23
Kontaktovat uživatele:

Re: Protekce villagerů

#12 Příspěvekod NEZNAMY » 07 srp 2016, 19:46

Plugin vypadá po dekompilácii nejak takto:

Spoiler: zobrazit

Kód: Vybrat vše

package me.quicksvk.wasabinpc;

import java.util.logging.Logger;
import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin
  implements Listener
{
  public void onEnable()
  {
    Bukkit.getLogger().info("[NPCWasabi] Plugin by QuickSVK pro WasabiCraft aktivován");
    Bukkit.getPluginManager().registerEvents(this, this);
  }

  public void onDisable() {
    Bukkit.getLogger().info("[NPCWasabi] Plugin by QuickSVK pro WasabiCraft deaktivován");
  }

  @EventHandler
  public void onEntityDamage(EntityDamageByEntityEvent event) {
    LivingEntity entity = (LivingEntity)event.getEntity();

    if (event.getEntityType() == EntityType.VILLAGER) {
      event.setCancelled(true);
    } else {
      Player player = (Player)event.getDamager();
      player.playSound(player.getLocation(), Sound.NOTE_BASS, 2.5F, 2.5F);
      event.setCancelled(true);
    }
  }
}


Pre tých, čo tomu nerozumejú, všimnite si to IF ... event.setCancelled(true), else event.setCancelled(true)
Z čoho vyplýva, že plugin vždy zakáže EntityDamageByEntityEvent -> t.j. zakáže, aby hráč búchal hráčov, hráč búchal mobov, mobovia hráčov... myslím, že tadeaš mal iné požiadavky.

Smexhy
Příspěvky: 5602
Věk: 26
Registrován: 31 říj 2012, 15:50
Reputation: 20
Bydliště: Slovensko
Kontaktovat uživatele:

Re: Protekce villagerů

#13 Příspěvekod Smexhy » 07 srp 2016, 21:10

QuickSVK píše:Ty sa staraj hlavne o seba :)

Len aby bolo jasné, ak sa tvoje správanie nezlepší, ďalšie varovania spolu s banom sa len pohrnú.

K téme, pokiaľ máš WorldGuard, napíš /region flag __global__ mob-damage-deny villager

Lupe
Příspěvky: 15
Věk: 24
Registrován: 03 bře 2016, 14:43
Reputation: 0

Re: Protekce villagerů

#14 Příspěvekod Lupe » 09 srp 2016, 22:52

Ahoj
Nainstaluj si plugin skript, restartuj server
po vytvoření složky skript vytvoř do podsložky scripts soubor neco.sk
Do souboru neco.sk napiš:

Kód: Vybrat vše

on damage of villager:
 attacker is player
 cancel the event

ulož a dej /sk reload all
Hotovo :)
Jsem holka, je mi 15let a jsem na Spigotu :)
Přijímám zakázky na pluginy!

Uživatelský avatar
Arcas
Příspěvky: 1406
Věk: 27
Registrován: 13 bře 2012, 19:15
Reputation: 0

Re: Protekce villagerů

#15 Příspěvekod Arcas » 10 srp 2016, 09:42

Plugin Skript nemohu doporučit. Jedná se o chabou emulaci vlastního jazyka do javy. Buď bych využil způsobu, jenž popisuje Mike, nebo mi napiš PM a já ti sestrojím jednoduchý plugin, který ti villagery ochrání.
Čeština a jiné jazyky jsou Freeware, ale ne Opensource!!! To znamená, že s nimi můžete nakládat jak chcete, ale nesmíte je upravovat...

// no comment

Uranus-Portal.com
Obrázek


Zpět na „Minecraft, Tekkit“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 18 hostů