Refaktoryzacja i szukanie błędów w funkcjach w Minecraft

Chcesz pozbyć się zbędnych elementów kodu? Stosowałeś w funkcjach bezsensowne nazewnictwo i chciałbyś je naprawić? A może potrzebujesz przetłumaczyć nazwy w kodzie tak aby ludzie posługujący się innym językiem mogli łatwo z niego skorzystać? Teraz to możliwe!

Chciałbym wam zaprezentować narzędzie, które może trochę ułatwić życie osobom chcącym zadbać o czytelność swoich funkcji. Czasem zdarza się, że tworząc duże projekty nazwie się coś w niewłaściwy sposób. Niestety naprawianie takich błędów może być uciążliwe. Tagi, scoreboardy i funkcje kluczowe do działania programu mogą być wykorzystywane wielokrotnie w różnych miejscach kodu, a ich zmiana może oznaczać konieczność przerobienia całego projektu. Czasem zdarza się również, że pod koniec pracy nad projektem zostają jakieś dziwne scoreboardy, co do których nie ma pewności czy w ogóle mają jakieś zastosowanie. Przecież nie będziesz usuwał rzeczy, które mogą być do czegoś potrzebne. Program załączony w tym wpisie pozwoli ci jednak rozwiązać i ten problem.

Możliwości programu

  • Zmiana nazw funkcji, tagów i scoreboardów.
  • Wyszukiwanie niezadeklarowanych funkcji, tagów i scoreboardów i wskazywanie miejsc, w których są wykorzystywane.
  • Wyszukiwanie funkcji, tagów i scoreboardów, które nie są nigdzie wykorzystane i wskazywanie miejsc ich deklaracji.

Krótka instrukcja

  1. Uruchom program MC refactor.exe (jeśli posiadasz Pythona 3 zainstalowanego na swoim komputerze, wystarczy uruchomić skrypt MC refactor.py).
  2. Wpisz w polu Workspace scieżkę do folderu functions, w którym znajdują się funkcje, które chcesz edytować i wciśnij przycisk Analyse. Po wykonaniu tego punktu powinno na ekranie wyświetlić się okienko zawierające informacje o potencjalnych błędach w twoich funkcjach.
  3. Aby edytować nazwy funkcji, scoreboardów lub tagów wybierz jedną z trzech opcji programu (Functions, Scoreboards, Tags). Po dokonaniu wyboru, w dolnej części okna powinna się pojawić odpowiednia lista elementów wykrytych przez program.
  4. Wybierz z listy kliknięciem element, który chcesz edytować. Jego nazwa powinna pojawić się w rubryce Rename.
  5. Aby dokonać zmiany zmień tekst widoczny w polu Rename i wciśnij przycisk Run !!! (znajdujący się na samym dole okna).

Dodatkowe uwagi

  • Pamiętaj żeby przed wprowadzaniem zmian za pomocą programu zawsze zrobić kopię zapasową swoich funkcji.
  • Program może zmieniać nazwy funkcji (w tym nazwy folderów w których się one znajdują) ale nie może zmieniać struktury według której te funkcje są rozłożone. To znaczy, że można zmienić funkcje: cmdblockpl:jest/super na cmdblockpl:to/nooby ale nie można zmienić jej na cmdblockpl:nie/jest/super.
  • Program nie obsługuje polskich znaków.
  • Niektóre „szalone” nazwy mogą nie działać poprawnie. W Minecraft można stworzyć tag o nazwie ABC,score_def=5. Pomyśl co by się stało w wypadku próby odwołania się do tego tagu w selektorze! Z oczywistych względów nie mogłem wszystkiego przewidzieć.
  • Program nie informuje użytkownika o tym, że nowa nazwa, którą chce wprowadzić jest już wykorzystywana.
  • Program można wykorzystać do obfuskacji kodu (chociaż cel do którego został stworzony jest zupełnie przeciwny).

 

Link do pobrania programu: Nusiq’s MC refactor tool exe.win-amd64-3.6 (zawiera program i jego kod źródłowy w postaci skryptu do Pythona 3)

Patreon

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *