Jednak jak to sam napisał, chciał skrypt blokujący niszczenie bloków podczas bycia na vanishu z essentialsa a nie skrypt z własnym vanishem.
W dodatku twój skrypt nie spełni w pełni swojej roli, nakładając efekt invisibility nadal nie zabezpieczasz się przed wieloma rzeczami, gracze widzą cię na tabie, możesz im przeszkadzać latając im przed kursorem i ich blokując, itd itp.
Pomijając fakt, że twój skrypt nie miałby szans sprawdzić się na serwerze, ze względu na zmienne które zrobiłeś. Ustawiasz zmienną {vanish::status}, a powinna ona wyglądać mniej więcej tak: {VanishStatus::%player%}. Z zmienną która podałeś, gdy ktoś użyje komendy /v, zmienna zmieni się ogólnie - dla wszystkich graczy, więc ktoś kto nie ma vanisha nie będzie mógł niszczyć bloków lub odwrotnie, ktoś na vanishu będzie mógł.
Najlepszym rozwiązaniem jest użycie SuperVanisha który wyeliminuje te wszystkie problemy, lub jeżeli koledze tak bardzo zależy na użyciu skryptu+essentialsa można użyć rozszerzenia Skript Placeholders i takiego kodu:
on break:
if "%placeholder "essentials_vanished" from player%" is "yes":
cancel event
Jednak szczerze polecam używać pluginu SuperVanish.