
NullPlugin
Null adds a mystical entity from creepypasta to your server.
NullPlugin
!GitHub Issues
!Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null Null
Statistic
- https://bstats.org/plugin/bukkit/NullPlugin/32149
NullPlugin adds a mythical entity Null – a nameless NPC that stalks players, creates a creepy atmosphere and behaves unpredictably. Perfect for horror and survival servers.
Features
- 🎯 Automatic spawn – random spawn near a player (configurable chance).
- 👀 Stalking – faces the player, teleports behind them, disappears and reappears elsewhere.
- 🧱 World interaction – places eerie signs (
LEAVE,I SEE YOU, ...), breaks blocks, extinguishes torches. - 🔊 Atmospheric effects – ambient sounds, footsteps, heartbeat, portal, smoke and soul particles.
- 💾 State saving – after server restart, Null returns to the same location.
- 🎨 Custom NPC skins (Mineskin) – place a PNG in
plugins/NullPlugin/skins/and the plugin automatically generates a signed skin via the Mineskin API on server startup. Result is cached on disk, so subsequent starts don't require internet access. - ⚙️ Flexible configuration – every parameter (distances, chances, sounds, particles) is configurable via
config.yml. - 🔌 NPC plugin support (since v1.0.2) – Citizens, FancyNPCs, NPC Plugin.
Admin commands
/null spawn [player]– summon Null near yourself or the specified player./null remove– remove the current Null./null reload– reload the configuration./null info– show NPC status./null target <player>– change target./null debug– debug information./null stats– statistics (spawns, signs, destructions, teleports).
Installation
- Download
NullPlugin.jar. - Place it in your server's
plugins/folder. - Install one of the supported NPC plugins (Citizens, FancyNPCs or NPC Plugin).
- Restart the server.
- Configure
config.ymlinplugins/NullPlugin/. - (Optional) Set up a custom NPC skin via Mineskin — see the "Custom skins" section below.
Custom skins (Mineskin)
NullPlugin can generate a signed Minecraft skin for the Null NPC from a PNG file you provide. This is done through the Mineskin API.
🔧 Setup (5 minutes)
-
Get a Mineskin API key (optional but recommended):
- Without a key the plugin still works, but Mineskin applies strict rate limits and slower requests.
- Free key: https://mineskin.org/apikey
- Copy the key — it looks like
msk_XXXXXXXXXXXXXX.
-
Paste the key into
plugins/NullPlugin/config.yml:mineskin: api-key: "msk_XXXXXXXXXXXXXX" -
Put your skin into
plugins/NullPlugin/skins/nulleclipse.png.- File must be PNG, size 64×64, format like a standard Minecraft skin.
- File name without extension must match
null.appearance.skin-name(default:Nulleclipse).
-
Restart the server. You'll see in the console:
[SkinLoader] Нужно сгенерировать 1 текстур через Mineskin API [SkinLoader] Текстура сгенерирована и сохранена для 'nulleclipse'.On the next start:
[SkinLoader] Загружено 1 текстур из skin-cache.yml -
Done — Null will spawn with your skin from the very first spawn.
🔄 Changing the skin later
- Replace the PNG in
plugins/NullPlugin/skins/. - Delete
plugins/NullPlugin/skin-cache.yml. - Restart the server — plugin will regenerate the texture.
📦 Where things are stored
| Path | Purpose |
|---|---|
plugins/NullPlugin/skins/*.png | Skin source files (PNG, 64×64) |
plugins/NullPlugin/skin-cache.yml | Generated value + signature from Mineskin |
plugins/NullPlugin/config.yml → mineskin.api-key | Mineskin API key |
Dependencies
- Required: Citizens (before v1.0.1) / Citizens, FancyNPCs or NPC Plugin (since v1.0.2)
- Optional: WorldGuard (for block build permission checks)
Support
- Telegram: @romixsupport_bot
- Discord: https://discord.gg/PNp3S3sanv
- Wiki (RU): https://romixerx.ru/null-wiki
- GitHub Issues: https://github.com/rompix/NullPlugin/issues
NullPlugin
NullPlugin добавляет на сервер мистическую сущность Null – безымянного NPC, который преследует игроков, создаёт жуткую атмосферу и ведёт себя непредсказуемо. Идеально для хоррор‑ и выживани‑серверов.
Особенности
- 🎯 Автоматическое появление – случайный спавн рядом с игроком (настраиваемый шанс).
- 👀 Преследование – смотрит на игрока, телепортируется за спину, исчезает и появляется в другом месте.
- 🧱 Взаимодействие с миром – ставит жуткие таблички (
LEAVE,I SEE YOU, ...), разрушает блоки, гасит факелы. - 🔊 Атмосферные эффекты – эмбиент, шаги, сердцебиение, частицы порталов, дыма и душ.
- 💾 Сохранение состояния – после перезагрузки сервера Null возвращается на то же место.
- 🎨 Кастомные скины через Mineskin – положи PNG в
plugins/NullPlugin/skins/, и плагин автоматически сгенерирует подписанный скин через Mineskin API при старте сервера. Результат кэшируется на диск — последующие запуски не требуют интернета. - ⚙️ Гибкие настройки – каждый параметр (дистанции, шансы, звуки, частицы) конфигурируется через
config.yml. - 🔌 Поддержка NPC-плагинов (с версии 1.0.2) – Citizens, FancyNPCs, NPC Plugin.
Команды администратора
/null spawn [игрок]– призвать Null рядом с собой или указанным игроком./null remove– удалить текущего Null./null reload– перезагрузить конфигурацию./null info– показать статус NPC./null target <игрок>– сменить цель./null debug– отладочная информация./null stats– статистика (появления, таблички, разрушения, телепорты).
Установка
- Скачайте
NullPlugin.jar. - Поместите в папку
plugins/сервера. - Установите один из поддерживаемых NPC-плагинов (Citizens, FancyNPCs или NPC Plugin).
- Перезапустите сервер.
- Настройте
config.ymlвplugins/NullPlugin/. - (Опционально) Настройте кастомный скин для NPC через Mineskin — см. раздел «Кастомные скины» ниже.
Кастомные скины (Mineskin)
NullPlugin умеет генерировать подписанный скин для NPC Null из PNG-файла, который вы положите. Делается это через API сервиса Mineskin.
🔧 Настройка (5 минут)
- Получите API-ключ Mineskin (необязательно, но рекомендуется):
- Без ключа плагин тоже работает, но Mineskin накладывает жёсткие лимиты и запросы идут медленнее.
- Бесплатный ключ: https://mineskin.org/apikey
- Ключ выглядит примерно так:
msk_XXXXXXXXXXXXXX.
-
Вставьте ключ в
plugins/NullPlugin/config.yml:mineskin: api-key: "msk_XXXXXXXXXXXXXX" -
Положите скин в
plugins/NullPlugin/skins/nulleclipse.png.- Файл должен быть в формате PNG, размер 64×64, как стандартный скин Minecraft.
- Имя файла без расширения должно совпадать с
null.appearance.skin-name(по умолчаниюNulleclipse).
-
Перезапустите сервер. В консоли увидите:
[SkinLoader] Нужно сгенерировать 1 текстур через Mineskin API [SkinLoader] Текстура сгенерирована и сохранена для 'nulleclipse'.При следующем запуске:
[SkinLoader] Загружено 1 текстур из skin-cache.yml -
Готово — Null будет в вашем скине с самого первого спавна.
🔄 Как поменять скин позже
- Замените PNG в
plugins/NullPlugin/skins/. - Удалите
plugins/NullPlugin/skin-cache.yml. - Перезапустите сервер — плагин сгенерирует текстуру заново.
📦 Где что хранится
| Путь | Назначение |
|---|---|
plugins/NullPlugin/skins/*.png | Исходные файлы скинов (PNG, 64×64) |
plugins/NullPlugin/skin-cache.yml | Сгенерированные value + signature от Mineskin |
plugins/NullPlugin/config.yml → mineskin.api-key | API-ключ Mineskin |
Зависимости
- Обязательно: Citizens (до v1.0.1) / Citizens, FancyNPCs или NPC Plugin (начиная с v1.0.2)
- Опционально: WorldGuard (для проверки прав разрушения блоков)
📄 config.yml
# ============================================================
# NullPlugin Configuration File
# Версия / Version: 1.1.0
# ============================================================
# Language for messages: ru (Russian) or en (English)
# Язык сообщений: ru (русский) или en (английский)
language: ru
# ------------------------------------------------------------
# UPDATE CHECKER / ПРОВЕРКА ОБНОВЛЕНИЙ
# ------------------------------------------------------------
update-checker:
# Enable checking for updates on Modrinth
# Включить проверку обновлений на Modrinth
enabled: true
# ============================================================
# MINESKIN API — генерация скинов для NPC
# MINESKIN API — generating skins for NPCs
# ============================================================
#
# 🇷🇺 Что это и зачем:
# Скины игроков в Minecraft должны быть подписаны Mojang.
# Mineskin — сервис, который принимает PNG-файл (64×64)
# и возвращает подписанные value + signature. Эти данные
# мы прикрепляем к NPC, и он получает нужный скин.
#
# Плагин делает это автоматически при старте сервера:
# 1. Читает PNG из plugins/NullPlugin/skins/nulleclipse.png
# 2. Отправляет в Mineskin
# 3. Сохраняет результат в plugins/NullPlugin/skin-cache.yml
# 4. Следующие запуски читают уже готовую текстуру —
# без запросов в интернет.
#
# API-ключ:
# Без ключа плагин тоже работает, но Mineskin накладывает
# жёсткие лимиты (и запросы идут медленнее). Рекомендуется
# получить бесплатный ключ: https://mineskin.org/apikey
# Вставь его в поле 'api-key' ниже.
#
# 🇬🇧 What and why:
# Minecraft player skins must be Mojang-signed. Mineskin accepts
# a PNG file (64×64) and returns signed value + signature.
# These are attached to the NPC, giving it the desired skin.
#
# The plugin does this automatically on server startup:
# 1. Reads plugins/NullPlugin/skins/nulleclipse.png
# 2. Uploads to Mineskin
# 3. Saves result to plugins/NullPlugin/skin-cache.yml
# 4. Subsequent starts read the cached texture —
# no internet requests.
#
# API key:
# Works without a key too, but Mineskin enforces strict
# rate limits (and slower requests). Get a free key at
# https://mineskin.org/apikey and paste it below.
# ============================================================
mineskin:
# API-ключ Mineskin (оставь пустым "" для работы без авторизации).
# Mineskin API key (leave empty "" to run without authorization).
api-key: ""
# ============================================================
# NULL SETTINGS
# ============================================================
null:
# Enable/disable the Null myth completely
enabled: true
# Chance (0.0 - 1.0) for Null to spawn randomly:
# - on player join (with join-spawn-delay)
# - every 6 seconds in a periodic task
spawn-chance: 0.01
# Delay after player join before possible Null spawn (ticks, 20 ticks = 1 sec)
join-spawn-delay: 200
# Minimum and maximum distance (blocks) from player where Null can spawn
spawn-min-distance: 5
spawn-distance: 25
# Maximum number of Null instances allowed at once (usually 1)
max-instances: 1
# How long Null lives after spawn (seconds). Set to 0 for infinite lifetime
lifetime-seconds: 60
# NPC ID assigned automatically – DO NOT MANUALLY EDIT
npc-id: -1
# Should WorldGuard be used to check block break/place permissions?
use-worldguard: true
# ------------------------------------------------------------
# Null behavior settings
# ------------------------------------------------------------
behavior:
follow-player: true
teleport-randomly: true
destroy-blocks: true
place-signs: true
look-at-player: true
teleport-cooldown: 10
action-cooldown: 15
follow-range-teleport: 50
invisible-distance: 5
invisible-duration: 60
max-location-attempts: 10
teleport-chance: 0.3
teleport-behind-chance: 0.05
glance-chance: 0.02
extinguish-torch-chance: 0.1
invisible-chance: 0.3
sign-chance: 0.2
destroy-chance: 0.15
ambient-sound-chance: 0.1
sign-remove-delay: 1200
torch-restore-delay: 80
glance-duration: 6
destroy-radius: 3
destroy-iterations: 3
torch-radius: 6
near-effect-distance: 5.0
near-min: 15
near-max: 30
teleport-min: 20
teleport-max: 40
sign-min: 5
sign-max: 15
# ------------------------------------------------------------
# Null appearance
# ------------------------------------------------------------
appearance:
# Skin name in skins/ folder (without .png)
# Имя скина в папке skins/ (без .png)
skin-name: "Nulleclipse"
invisible-sometimes: true
spawn-particles: true
teleport-particles: true
despawn-particles: true
show-nameplate: true
# ------------------------------------------------------------
# Signs that Null can place
# ------------------------------------------------------------
signs:
messages:
- "null"
- "LEAVE"
- "I SEE YOU"
- "RUN"
# ------------------------------------------------------------
# Null sound effects
# ------------------------------------------------------------
sounds:
enabled: true
ambient-sounds: true
teleport-sound: "ENTITY_ENDERMAN_TELEPORT"
despawn-sound: "ENTITY_ILLUSIONER_MIRROR_MOVE"
spawn-sound: "ENTITY_ENDERMAN_AMBIENT"
destroy-sound: "ENTITY_GENERIC_EXPLODE"
place-sign-sound: "BLOCK_WOOD_PLACE"
sign-break-sound: "BLOCK_WOOD_BREAK"
extinguish-sound: "BLOCK_FIRE_EXTINGUISH"
glance-teleport-sound: "ENTITY_ENDERMAN_TELEPORT"
glance-illusioner-sound: "ENTITY_ILLUSIONER_AMBIENT"
heartbeat-sound: "ENTITY_WARDEN_HEARTBEAT"
ambient-scary:
- "AMBIENT_CAVE"
- "ENTITY_ENDERMAN_STARE"
- "ENTITY_GHAST_AMBIENT"
- "BLOCK_PORTAL_AMBIENT"
- "ENTITY_WITHER_AMBIENT"
- "ENTITY_ILLUSIONER_AMBIENT"
- "ENTITY_VEX_AMBIENT"
- "ENTITY_PLAYER_BREATH"
- "BLOCK_SCULK_SHRIEKER_SHRIEK"
ambient-step:
- "BLOCK_STONE_STEP"
- "BLOCK_SAND_STEP"
- "BLOCK_GRAVEL_STEP"
- "ENTITY_PLAYER_ATTACK_SWEEP"
# ------------------------------------------------------------
# Null particle effects
# ------------------------------------------------------------
particles:
spawn: "PORTAL"
teleport: "PORTAL"
despawn: "LARGE_SMOKE"
glance-portal: "PORTAL"
glance-soul-flame: "SOUL_FIRE_FLAME"
count: 20
speed: 0.1
spawn-offset-x: 0.5
spawn-offset-y: 1.0
spawn-offset-z: 0.5
# ------------------------------------------------------------
# Fear & mystical effects
# ------------------------------------------------------------
effects:
darkness-duration: 100
blindness-duration: 60
nausea-duration: 120
whisper:
enabled: true
sound: "ENTITY_ILLUSIONER_AMBIENT"
chance: 0.08
flicker:
enabled: true
sound: "ENTITY_ELDER_GUARDIAN_CURSE"
chance: 0.05
blind-duration: 40
creepy-particles:
enabled: true
particle: "WARPED_SPORE"
chance: 0.12
count: 15
fake-hurt:
enabled: true
sound: "ENTITY_PLAYER_HURT"
chance: 0.04
distortion:
enabled: true
chance: 0.03
duration: 100
amplifier: 4
Сервер для плагина NullPlugin - как у профи
Плагин NullPlugin создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином NullPlugin для друзей можно за пару минут - BungeeHost всё уже подготовил.
