News: BlockHunt Update 1.8.8 (Ke Stažení)

Technická podpora k herním serverům Minecraft a Tekkit
Message
Autor
MagiCraft
Příspěvky: 369
Registrován: 29 kvě 2013, 18:34
Reputation: 3
Kontaktovat uživatele:

Re: News: BlockHunt Update 1.8.8 (Ke Stažení)

#11 Příspěvekod MagiCraft » 20 zář 2015, 10:59

Vidím, že sa tam niečo pridalo len nie na správne miesto :D
V súbor ArenaHandler v public static void seekersWin sa vôbec nepridalo to if(arena.seekers.contains(player){} a v public static void hidersWin treba v tej podmienke zmeniť seekers na hiders
IP: Play.MagiCraft.eu
MagiCraft

Ak som pomohol K+ poteší :)

Uživatelský avatar
VIPianni
Příspěvky: 343
Věk: 26
Registrován: 08 úno 2014, 05:53
Reputation: 0

Re: News: BlockHunt Update 1.8.8 (Ke Stažení)

#12 Příspěvekod VIPianni » 25 zář 2015, 17:22

Můsím ti říct že přidalo ;). Sám jsem to tam dával :) a je to tam.

MarekBurget

Re: News: BlockHunt Update 1.8.8 (Ke Stažení)

#13 Příspěvekod MarekBurget » 25 zář 2015, 18:01

Ved to ani stiahnut nejde..
Pri kliknuti na download link vypiše:

404 - Stránka nebyla nalezena

MagiCraft
Příspěvky: 369
Registrován: 29 kvě 2013, 18:34
Reputation: 3
Kontaktovat uživatele:

Re: News: BlockHunt Update 1.8.8 (Ke Stažení)

#14 Příspěvekod MagiCraft » 26 zář 2015, 23:36

No nie je to opravené!
Daj to takto:

Kód: Vybrat vše

package nl.Steffion.BlockHunt;

import com.connorlinfoot.titleapi.TitleAPI;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import me.libraryaddict.disguise.DisguiseAPI;
import net.milkbowl.vault.economy.Economy;
import nl.Steffion.BlockHunt.Managers.ConfigM;
import nl.Steffion.BlockHunt.Managers.MessageM;
import nl.Steffion.BlockHunt.Managers.PermissionsM;
import nl.Steffion.BlockHunt.Serializables.LocationSerializable;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.potion.PotionEffect;

public class ArenaHandler
{
  public static void loadArenas()
  {
    W.arenaList.clear();
    for (String arenaName : W.arenas.getFile().getKeys(false)) {
      W.arenaList.add((Arena)W.arenas.getFile().get(arenaName));
    }
    for (Arena arena : W.arenaList) {
      ScoreboardHandler.createScoreboard(arena);
    }
  }
 
  public static void sendMessage(Arena arena, String message, String... vars)
  {
    for (Player player : arena.playersInArena)
    {
      String pMessage = message.replaceAll("%player%", player.getName());
      player.sendMessage(MessageM.replaceAll(pMessage, vars));
    }
  }
 
  public static void sendFMessage(Arena arena, ConfigC location, String... vars)
  {
    for (Player player : arena.playersInArena)
    {
      String pMessage = location.config.getFile().get(location.location)
        .toString().replaceAll("%player%", player.getName());
      player.sendMessage(MessageM.replaceAll(pMessage, vars));
    }
  }
 
  public static void playerJoinArena(Player player, String arenaname)
  {
    boolean found = false;
    boolean alreadyJoined = false;
    for (Arena arena : W.arenaList) {
      if ((arena.playersInArena != null) &&
        (arena.playersInArena.contains(player))) {
        alreadyJoined = true;
      }
    }
    if (!alreadyJoined)
    {
      for (Arena arena : W.arenaList) {
        if (arena.arenaName.equalsIgnoreCase(arenaname))
        {
          found = true;
          if (arena.disguiseBlocks.isEmpty())
          {
            MessageM.sendFMessage(player,
              ConfigC.error_joinNoBlocksSet, new String[0]);
          }
          else
          {
            boolean inventoryempty = true;
            for (ItemStack invitem : player.getInventory()) {
              if ((invitem != null) &&
                (invitem.getType() != Material.AIR)) {
                inventoryempty = false;
              }
            }
            Object localObject;
            int j = (localObject = player.getInventory().getArmorContents()).length;
            for (int i = 0; i < j; i++)
            {
              ItemStack invitem = localObject[i];
              if (invitem.getType() != Material.AIR) {
                inventoryempty = false;
              }
            }
            if ((((Boolean)W.config.get(ConfigC.requireInventoryClearOnJoin)).booleanValue()) &&
              (!inventoryempty))
            {
              MessageM.sendFMessage(player,
                ConfigC.error_joinInventoryNotEmpty, new String[0]);
              return;
            }
            LocationSerializable zero = new LocationSerializable(
              Bukkit.getWorld(player.getWorld().getName()
              .toString()), 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
            if ((arena.lobbyWarp != null) && (arena.hidersWarp != null) &&
              (arena.seekersWarp != null) &&
              (arena.spawnWarp != null))
            {
              if ((!arena.lobbyWarp.equals(zero)) &&
                (!arena.hidersWarp.equals(zero)) &&
                (!arena.seekersWarp.equals(zero)) &&
                (!arena.spawnWarp.equals(zero)))
              {
                if ((arena.gameState == Arena.ArenaState.WAITING) ||
                  (arena.gameState == Arena.ArenaState.STARTING))
                {
                  if (arena.playersInArena.size() >= arena.maxPlayers) {
                    if (!PermissionsM.hasPerm(player, PermissionsC.Permissions.joinfull, Boolean.valueOf(false)))
                    {
                      MessageM.sendFMessage(player,
                        ConfigC.error_joinFull, new String[0]);
                      return;
                    }
                  }
                  arena.playersInArena.add(player);
                 
                  PlayerArenaData pad = new PlayerArenaData(
                    player.getLocation(),
                    player.getGameMode(), player
                    .getInventory()
                    .getContents(), player
                    .getInventory()
                    .getArmorContents(),
                    Float.valueOf(player.getExp()), Integer.valueOf(player.getLevel()),
                    Double.valueOf(player.getHealth()),
                    Integer.valueOf(player.getFoodLevel()),
                    player.getActivePotionEffects(),
                    player.getAllowFlight());
                 
                  W.pData.put(player, pad);
                 
                  player.teleport(arena.lobbyWarp);
                  player.setGameMode(GameMode.SURVIVAL);
                 
                  localObject = player.getActivePotionEffects().iterator();
                  while (((Iterator)localObject).hasNext())
                  {
                    PotionEffect pe = (PotionEffect)((Iterator)localObject).next();
                    player.removePotionEffect(pe.getType());
                  }
                  player.setFoodLevel(20);
                  player.setHealth(20.0D);
                  player.setLevel(arena.timer);
                  player.setExp(0.0F);
                  player.getInventory().clear();
                  player.getInventory().setHelmet(
                    new ItemStack(Material.AIR));
                  player.getInventory().setChestplate(
                    new ItemStack(Material.AIR));
                  player.getInventory().setLeggings(
                    new ItemStack(Material.AIR));
                  player.getInventory().setBoots(
                    new ItemStack(Material.AIR));
                  player.setFlying(false);
                  player.setAllowFlight(false);
                  if ((((Boolean)W.config.get(ConfigC.shop_blockChooserv1Enabled)).booleanValue()) && (
                    (W.shop.getFile().get(
                    player.getName() +
                    ".blockchooser") != null) ||
                   
                    (PermissionsM.hasPerm(player, PermissionsC.Permissions.shopblockchooser, Boolean.valueOf(false)))))
                  {
                    ItemStack shopBlockChooser = new ItemStack(
                      Material.getMaterial((String)W.config
                      .get(ConfigC.shop_blockChooserv1IDname)),
                      1);
                    ItemMeta shopBlockChooser_IM = shopBlockChooser
                      .getItemMeta();
                    shopBlockChooser_IM
                      .setDisplayName(
                      MessageM.replaceAll((String)W.config
                      .get(ConfigC.shop_blockChooserv1Name), new String[0]));
                    List<String> lores = W.config
                      .getFile()
                      .getStringList(
                      ConfigC.shop_blockChooserv1Description.location);
                    List<String> lores2 = new ArrayList();
                    for (String lore : lores) {
                      lores2.add(
                        MessageM.replaceAll(lore, new String[0]));
                    }
                    shopBlockChooser_IM.setLore(lores2);
                    shopBlockChooser
                      .setItemMeta(shopBlockChooser_IM);
                   
                    player.getInventory().addItem(new ItemStack[] {
                      shopBlockChooser });
                  }
                  if ((((Boolean)W.config.get(ConfigC.shop_BlockHuntPassv2Enabled)).booleanValue()) &&
                    (W.shop.getFile().getInt(
                    player.getName() +
                    ".blockhuntpass") != 0))
                  {
                    ItemStack shopBlockHuntPass = new ItemStack(
                      Material.getMaterial((String)W.config
                      .get(ConfigC.shop_BlockHuntPassv2IDName)),
                      1);
                    ItemMeta shopBlockHuntPass_IM = shopBlockHuntPass
                      .getItemMeta();
                    shopBlockHuntPass_IM
                      .setDisplayName(
                      MessageM.replaceAll((String)W.config
                      .get(ConfigC.shop_BlockHuntPassv2Name), new String[0]));
                    List<String> lores = W.config
                      .getFile()
                      .getStringList(
                      ConfigC.shop_BlockHuntPassv2Description.location);
                    List<String> lores2 = new ArrayList();
                    for (String lore : lores) {
                      lores2.add(
                        MessageM.replaceAll(lore, new String[0]));
                    }
                    shopBlockHuntPass_IM.setLore(lores2);
                    shopBlockHuntPass
                      .setItemMeta(shopBlockHuntPass_IM);
                    shopBlockHuntPass
                      .setAmount(W.shop
                      .getFile()
                      .getInt(player
                      .getName() +
                      ".blockhuntpass"));
                   
                    player.getInventory().addItem(new ItemStack[] {
                      shopBlockHuntPass });
                  }
                  player.updateInventory();
                 
                  DisguiseAPI.undisguiseToAll(player);
                 
                  sendFMessage(arena,
                    ConfigC.normal_joinJoinedArena, new String[] {
                    "playername-" + player.getName(),
                    "1-" + arena.playersInArena.size(),
                    "2-" + arena.maxPlayers });
                  if (arena.playersInArena.size() < arena.minPlayers) {
                    sendFMessage(
                      arena,
                      ConfigC.warning_lobbyNeedAtleast, new String[] {
                      "1-" + arena.minPlayers });
                  }
                }
                else
                {
                  MessageM.sendFMessage(player,
                    ConfigC.error_joinArenaIngame, new String[0]);
                }
              }
              else {
                MessageM.sendFMessage(player,
                  ConfigC.error_joinWarpsNotSet, new String[0]);
              }
            }
            else {
              MessageM.sendFMessage(player,
                ConfigC.error_joinWarpsNotSet, new String[0]);
            }
          }
        }
      }
    }
    else
    {
      MessageM.sendFMessage(player, ConfigC.error_joinAlreadyJoined, new String[0]);
      return;
    }
    if (!found) {
      MessageM.sendFMessage(player, ConfigC.error_noArena, new String[] {"name-" +
        arenaname });
    }
    SignsHandler.updateSigns();
  }
 
  public static void playerLeaveArena(Player player, boolean message, boolean cleanup)
  {
    Arena arena = null;
    for (Arena arena2 : W.arenaList) {
      if ((arena2.playersInArena != null) &&
        (arena2.playersInArena.contains(player))) {
        arena = arena2;
      }
    }
    if (arena != null)
    {
      if (cleanup)
      {
        arena.playersInArena.remove(player);
        if (arena.seekers.contains(player)) {
          arena.seekers.remove(player);
        }
        if ((arena.playersInArena.size() < arena.minPlayers) &&
          (arena.gameState.equals(Arena.ArenaState.STARTING)))
        {
          arena.gameState = Arena.ArenaState.WAITING;
          arena.timer = 0;
         
          sendFMessage(arena,
            ConfigC.warning_lobbyNeedAtleast, new String[] {"1-" +
            arena.minPlayers });
        }
        if ((arena.playersInArena.size() <= 2) &&
          (arena.gameState == Arena.ArenaState.INGAME)) {
          if (arena.seekers.size() >= arena.playersInArena.size()) {
            seekersWin(arena);
          } else {
            hidersWin(arena);
          }
        }
        if (arena.seekers.size() >= arena.playersInArena.size()) {
          seekersWin(arena);
        }
        if ((arena.seekers.size() <= 0) &&
          (arena.gameState == Arena.ArenaState.INGAME))
        {
          Player seeker = (Player)arena.playersInArena.get(W.random
            .nextInt(arena.playersInArena.size()));
          sendFMessage(arena,
            ConfigC.warning_ingameNEWSeekerChoosen, new String[] {"seeker-" +
            seeker.getName() });
          sendFMessage(arena,
            ConfigC.normal_ingameSeekerChoosen, new String[] {"seeker-" +
            seeker.getName() });
          DisguiseAPI.undisguiseToAll(seeker);
          for (Player pl : Bukkit.getOnlinePlayers()) {
            pl.showPlayer(seeker);
          }
          seeker.getInventory().clear();
          arena.seekers.add(seeker);
          seeker.teleport(arena.seekersWarp);
          W.seekertime.put(seeker, Integer.valueOf(arena.waitingTimeSeeker));
        }
      }
      PlayerArenaData pad = new PlayerArenaData(null, null, null, null,
        null, null, null, null, null, false);
      if (W.pData.get(player) != null) {
        pad = (PlayerArenaData)W.pData.get(player);
      }
      player.getInventory().clear();
      player.getInventory().setContents(pad.pInventory);
      player.getInventory().setArmorContents(pad.pArmor);
      player.updateInventory();
      player.setExp(pad.pEXP.floatValue());
      player.setLevel(pad.pEXPL.intValue());
      player.setHealth(pad.pHealth.doubleValue());
      player.setFoodLevel(pad.pFood.intValue());
      player.addPotionEffects(pad.pPotionEffects);
      player.teleport(arena.spawnWarp);
      player.setGameMode(pad.pGameMode);
      player.setAllowFlight(pad.pFlying);
      if (player.getAllowFlight()) {
        player.setFlying(true);
      }
      W.pData.remove(player);
      for (Player pl : Bukkit.getOnlinePlayers())
      {
        pl.showPlayer(player);
        if ((W.hiddenLoc.get(player) != null) &&
          (W.hiddenLocWater.get(player) != null))
        {
          Block pBlock = ((Location)W.hiddenLoc.get(player)).getBlock();
          if (((Boolean)W.hiddenLocWater.get(player)).booleanValue()) {
            pl.sendBlockChange(pBlock.getLocation(),
              Material.STATIONARY_WATER, (byte)0);
          } else {
            pl.sendBlockChange(pBlock.getLocation(),
              Material.AIR, (byte)0);
          }
        }
        DisguiseAPI.undisguiseToAll(player);
      }
      ScoreboardHandler.removeScoreboard(player);
     
      MessageM.sendFMessage(player, ConfigC.normal_leaveYouLeft, new String[0]);
      if (message) {
        sendFMessage(arena, ConfigC.normal_leaveLeftArena, new String[] {
          "playername-" + player.getName(), "1-" +
          arena.playersInArena.size(), "2-" +
          arena.maxPlayers });
      }
    }
    else
    {
      if (message) {
        MessageM.sendFMessage(player, ConfigC.error_leaveNotInArena, new String[0]);
      }
      return;
    }
    SignsHandler.updateSigns();
  }
 
  public static void seekersWin(Arena arena)
  {
    sendFMessage(arena, ConfigC.normal_winSeekers, new String[0]);
    for (Player player : arena.playersInArena) {
      if ((arena.seekers.contains(player)) &&
        (arena.seekersWinCommands != null))
      {
        for (String command : arena.seekersWinCommands) {
          Bukkit.dispatchCommand(Bukkit.getConsoleSender(),
            command.replaceAll("%player%", player.getName()));
        }
        if (W.config.getFile().getBoolean("vaultSupport"))
        {
          if (BlockHunt.econ != null)
          {
            BlockHunt.econ.depositPlayer(player.getName(),
              arena.seekersTokenWin);
            MessageM.sendFMessage(player,
              ConfigC.normal_addedVaultBalance, new String[] {"amount-" +
              arena.seekersTokenWin });
          }
        }
        else
        {
          if (W.shop.getFile().get(player.getName() + ".tokens") == null)
          {
            W.shop.getFile().set(player.getName() + ".tokens", Integer.valueOf(0));
            W.shop.save();
          }
          int playerTokens = W.shop.getFile().getInt(
            player.getName() + ".tokens");
          W.shop.getFile().set(player.getName() + ".tokens",
            Integer.valueOf(playerTokens + arena.seekersTokenWin));
          W.shop.save();
         
          MessageM.sendFMessage(player, ConfigC.normal_addedToken, new String[] {
            "amount-" + arena.seekersTokenWin });
          if (arena.seekers.contains(player))
          {
            TitleAPI.sendTitle(player, Integer.valueOf(25), Integer.valueOf(25), Integer.valueOf(25), ChatColor.AQUA + "Seekers Vyhrali");
            player.playSound(player.getLocation(), Sound.NOTE_PLING, 10.0F, 1.0F);
          }
        }
      }
    }
    arena.seekers.clear();
    for (Player player : arena.playersInArena)
    {
      playerLeaveArena(player, false, false);
      player.playSound(player.getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    }
    arena.gameState = Arena.ArenaState.WAITING;
    arena.timer = 0;
    arena.playersInArena.clear();
  }
 
  public static void hidersWin(Arena arena)
  {
    sendFMessage(arena, ConfigC.normal_winHiders, new String[0]);
    for (Player player : arena.playersInArena) {
      if ((arena.hiders.contains(player)) &&
        (arena.hidersWinCommands != null))
      {
        for (String command : arena.hidersWinCommands) {
          Bukkit.dispatchCommand(
            Bukkit.getConsoleSender(),
            command.replaceAll("%player%", player.getName()));
        }
        if (W.config.getFile().getBoolean("vaultSupport"))
        {
          if ((BlockHunt.econ != null) &&
            (arena.seekers.contains(player)))
          {
            BlockHunt.econ.depositPlayer(player.getName(),
              arena.hidersTokenWin);
            MessageM.sendFMessage(player,
              ConfigC.normal_addedVaultBalance, new String[] {
              "amount-" + arena.hidersTokenWin });
          }
        }
        else
        {
          if (W.shop.getFile().get(player.getName() + ".tokens") == null)
          {
            W.shop.getFile().set(player.getName() + ".tokens",
              Integer.valueOf(0));
            W.shop.save();
          }
          int playerTokens = W.shop.getFile().getInt(
            player.getName() + ".tokens");
          W.shop.getFile().set(player.getName() + ".tokens",
            Integer.valueOf(playerTokens + arena.hidersTokenWin));
          W.shop.save();
         
          MessageM.sendFMessage(player,
            ConfigC.normal_addedToken, new String[] {"amount-" +
            arena.hidersTokenWin });
          if (arena.hiders.contains(player))
          {
            TitleAPI.sendTitle(player, Integer.valueOf(25), Integer.valueOf(25), Integer.valueOf(25), ChatColor.AQUA + "Hiders Vyhrali");
            player.playSound(player.getLocation(), Sound.NOTE_PLING, 10.0F, 1.0F);
          }
        }
      }
    }
    arena.seekers.clear();
    for (Player player : arena.playersInArena)
    {
      playerLeaveArena(player, false, false);
      player.playSound(player.getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    }
    arena.gameState = Arena.ArenaState.WAITING;
    arena.timer = 0;
    arena.playersInArena.clear();
  }
 
  public static void stopArena(Arena arena)
  {
    sendFMessage(arena, ConfigC.warning_arenaStopped, new String[0]);
   
    arena.seekers.clear();
    for (Player player : arena.playersInArena)
    {
      playerLeaveArena(player, false, false);
      player.playSound(player.getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
    }
    arena.gameState = Arena.ArenaState.WAITING;
    arena.timer = 0;
    arena.playersInArena.clear();
  }
}

IP: Play.MagiCraft.eu
MagiCraft

Ak som pomohol K+ poteší :)

MysakCZE
Příspěvky: 4
Registrován: 05 led 2016, 20:35
Reputation: 0

Re: News: BlockHunt Update 1.8.8 (Ke Stažení)

#15 Příspěvekod MysakCZE » 05 led 2016, 20:41

Zdravím, plugin mi zcela funguje (nastaveni, cedulky, přihlášení) až na zásadní věc... Hider se nezmění v block... Proč :D máte s tím někdo zkušenost? jaký pluginy by tomu mohl bránit nebo v čem by mohl být problém... na jakém způsobu funguje ta změna "skinu"
Děkuji

pluginyserver.png
Pluginy na serveru
pluginyserver.png (315.77 KiB) Zobrazeno 4134 x

Uživatelský avatar
VIPianni
Příspěvky: 343
Věk: 26
Registrován: 08 úno 2014, 05:53
Reputation: 0

Re: News: BlockHunt Update 1.8.8 (Ke Stažení)

#16 Příspěvekod VIPianni » 18 led 2016, 03:13

Samozřejmě k funkci pluginu potřebujete
Následujíci Pluginy TitleAPI, ProtocolLib, LibsDisguises.

Pokud se hráči nemění v bloky tak může být špatně nastavené Lobby
Lobby arény musí být nastaveno přímo v aréně.

Pokud možno Aktuální. v případě nějakého problému napište do PM.

TheFafa170
Příspěvky: 166
Registrován: 28 zář 2015, 18:01
Reputation: 0

Re: News: BlockHunt Update 1.8.8 (Ke Stažení)

#17 Příspěvekod TheFafa170 » 20 led 2016, 16:52

stranka kde se to ma ninstalovat nebyla nalezena co stim ? pls pomoc
Naposledy upravil(a) TheFafa170 dne 20 led 2016, 19:23, celkem upraveno 1 x.


Zpět na „Minecraft, Tekkit“

Kdo je online

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