Turret Plugin
Configurable Turret System for Minecraft Servers
Turret is a configurable turret plugin for Minecraft servers. It allows players to place automated defensive units (turrets) that track and attack entities based on selected settings. The plugin supports GUI interaction, weapon selection, targeting options, and a friend system to exclude allies from attacks.
Features
Turret System
- Players can craft and place turret blocks.
- Each turret is represented by an invisible armor stand equipped with a dispenser model and a health indicator.
- Real-time tracking and aiming using entity rotation.
- Line-of-sight based attacks.
- Manually enable or disable turrets.
- Repair or destroy turrets using iron ingots.
- Visual changes based on turret status (active or broken).
Target Selection
- Customize targets: players, hostile mobs, and animals.
- Toggle each category via GUI.
- Ignore owner and added friends.
Weapon System
Modular weapon support with unique damage and cooldown.
Example weapons:
Bow (uses arrows)
Laser weapon (uses custom ammo)
Switch weapons via menu.
Ammo is manually loaded into turret inventory.
Friend System
Add friends to exclude them from targeting.
Manage via commands:
/turret friend add
/turret friend remove
/turret friend list
Handles offline or invalid players with appropriate messages.
GUI and Localization
Full GUI interface:
Load ammo
Select targets
Enable/disable turret
Usage instructions
Crafting menu and information windows.
All texts are configurable via language file (TurretsLang) with default messages and tooltips.
Events and Feedback
Configurable messages for:
Turret installation
Repairs
Kills
Warnings (e.g. must disable before loading ammo)
Crafting
- Custom items (turret block, laser ammo) include titles and descriptions.
- Crafting recipes and metadata defined in plugin.
Dependencies
- Bukkit or Spigot server (1.20+ recommended)
- No external plugin dependencies
Notes
- Broken turrets do not function.
- Only the owner can remove a turret.
- Turrets run every 5 ticks using server's scheduler.