示例#1
0
 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);
     }
 }
示例#2
0
 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));
     }
 }