public function onPlayerMove(PlayerMoveEvent $event) { if (!$this->plugin->getConfig()->get("ShowPlotPopup", true)) { return; } $levelName = $event->getPlayer()->getLevel()->getName(); if (!$this->plugin->isLevelLoaded($levelName)) { return; } $plot = $this->plugin->getPlotByPosition($event->getTo()); if ($plot !== null and $plot !== $this->plugin->getPlotByPosition($event->getFrom())) { $plotName = TextFormat::GREEN . $plot; $popup = $this->plugin->getLanguage()->translateString("popup", [$plotName]); if ($plot->owner != "") { $owner = TextFormat::GREEN . $plot->owner; $ownerPopup = $this->plugin->getLanguage()->translateString("popup.owner", [$owner]); $paddingSize = floor((strlen($popup) - strlen($ownerPopup)) / 2); $paddingPopup = str_repeat(" ", max(0, -$paddingSize)); $paddingOwnerPopup = str_repeat(" ", max(0, $paddingSize)); $popup = TextFormat::WHITE . $paddingPopup . $popup . "\n" . TextFormat::WHITE . $paddingOwnerPopup . $ownerPopup; } else { $ownerPopup = $this->plugin->getLanguage()->translateString("popup.available"); $paddingSize = floor((strlen($popup) - strlen($ownerPopup)) / 2); $paddingPopup = str_repeat(" ", max(0, -$paddingSize)); $paddingOwnerPopup = str_repeat(" ", max(0, $paddingSize)); $popup = TextFormat::WHITE . $paddingPopup . $popup . "\n" . TextFormat::WHITE . $paddingOwnerPopup . $ownerPopup; } $event->getPlayer()->sendTip($popup); } }
public function onLevelLoad(LevelLoadEvent $event) { if ($event->getLevel()->getProvider()->getGenerator() === "myplot") { $settings = $event->getLevel()->getProvider()->getGeneratorOptions(); if (isset($settings["preset"]) === false or $settings["preset"] === "") { return; } $settings = json_decode($settings["preset"], true); if ($settings === false) { return; } $levelName = $event->getLevel()->getName(); $filePath = $this->plugin->getDataFolder() . "worlds/" . $levelName . ".yml"; $config = $this->plugin->getConfig(); $default = ["MaxPlotsPerPlayer" => $config->getNested("DefaultWorld.MaxPlotsPerPlayer"), "ClaimPrice" => $config->getNested("DefaultWorld.ClaimPrice"), "ClearPrice" => $config->getNested("DefaultWorld.ClearPrice"), "DisposePrice" => $config->getNested("DefaultWorld.DisposePrice"), "ResetPrice" => $config->getNested("DefaultWorld.ResetPrice")]; $config = new Config($filePath, Config::YAML, $default); foreach (array_keys($default) as $key) { $settings[$key] = $config->get($key); } $this->plugin->addLevelSettings($levelName, new PlotLevelSettings($levelName, $settings)); } }