public function updateSigns() { $this->plugin->storage->signs->reload(); foreach ($this->plugin->storage->signs->getAll() as $sign) { $signloc = $this->plugin->storage->signs->get($sign . ".location"); $locx = new Position($signloc->getX() - 0.5, $signloc->getY(), $signloc->getZ() - 0.5, $signloc->getLevel()); if ($locx->getBlock()->getID() == Item::SIGN_POST || $loc->getBlock()->getID() == Item::WALL_SIGN) { $signblock = $locx->getBlock(); $lines = $signblock->getLines(); if (strpos($sign, "leave")) { $signLines = $this->plugin->config->get('sign')['LEAVE']; $linecount = 0; foreach ($signLines as $line) { if ($linecount <= 3) { $signblock->setLine($linecount, MessageM::replaceAll($line)); } $linecount++; } $signblock->update(); } else { $linecount; if (strpos($sign, "shop")) { $signLines = $this->plugin->config->get('sign')['SHOP']; $linecount = 0; foreach ($signLines as $line) { if ($linecount <= 3) { $signblock->setLine($linecount, MessageM::replaceAll($line)); } $linecount++; } $signblock->update(); } else { foreach ($this->plugin->storage->arenaList as $arena) { if (substr($lines[1], -strlen($arena->arenaName)) === $arena->arenaName) { if ($arena::gameState == ArenaState::WAITING) { $signLines = $this->plugin->config->get('sign')['WAITING']; $linecount = 0; if ($signLines != null) { foreach ($signLines as $line) { if ($linecount <= 3) { $signblock->setLine($linecount, MessageM::replaceAll($line, ["arenaname-" . $arena->arenaName, "players-" . count($arena->playersInArena), "maxplayers-" . $arena->maxPlayers, "timeleft-" . $arena->timer])); } $linecount++; } } $signblock->update(); } else { if ($arena::gameState == ArenaState::STARTING) { $signLines = $this->plugin->config->get('sign')['STARTING']; $linecount = 0; if ($signLines != null) { foreach ($signLines as $line) { if (linecount <= 3) { $signblock->setLine($linecount, MessageM::replaceAll($line, ["arenaname-" . $arena->arenaName, "players-" . count($arena->playersInArena), "maxplayers-" . $arena->maxPlayers, "timeleft-" . $arena->timer])); } $linecount++; } } $signblock->update(); } else { if ($arena::gameState == ArenaState::INGAME) { $signLines = $this->plugin->config->get('sign')['INGAME']; $linecount = 0; if ($signLines != null) { foreach ($signLines as $line) { if ($linecount <= 3) { $signblock->setLine($linecount, MessageM::replaceAll($line, ["arenaname-" . $arena->arenaName, "players-" . count($arena->playersInArena), "maxplayers-" . $arena->maxPlayers, "timeleft-" . $arena->timer])); } $linecount++; } } $signblock->update(); } } } } } } } } else { removeSign($loc); } } }