Welcome to HytaleLoader - a powerful plugin loader and API wrapper for Hytale servers!
- Getting Started - Installation and first plugin
- Events - Event system overview
- Standard Events - Player events reference
- Commands - Command system guide
- Server Setup - Server configuration
- Scheduler API - Task scheduling and execution
- Permission API - Permission management system
- Command Utils - Command helper utilities
- Player Stats API - Health, stamina, mana management
- CHANGELOG - Version history
Simplified wrapper for player management:
Player player = event.getPlayer();
// Identity
String name = player.getName();
UUID uuid = player.getUUID();
// Messaging
player.sendMessage("Hello!");
// Inventory
Inventory inv = player.getInventory();
// Permissions
boolean hasPermission = player.hasPermission("myplugin.admin");// Get player inventory
InventoryPlayer inv = new InventoryPlayer(player);
// Get items
List<Item> items = inv.getItems();
Item item = inv.getItem(slot);
// Modify inventory
inv.addItem(item);
inv.clear(); // Note: May cause issues during join eventpublic class MyPlugin extends SimplePlugin {
@EventHandler
public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
player.sendMessage("Welcome " + player.getName() + "!");
}
@EventHandler
public void onBlockBreak(BreakBlockEvent event) {
// Handle block break
event.setCancelled(true); // Cancel the event
}
}@Command(name = "tp", description = "Teleport command")
public void teleportCommand(CommandContext context) {
context.sendMessage("Teleporting...");
}PlayerJoinEvent- When a player joinsPlayerQuitEvent- When a player leavesPlayerChatEvent- When a player sends a chat messagePlayerDamageEvent- When a player takes damagePlayerCraftEvent- When a player crafts (deprecated)PlayerMouseButtonEvent- When a player clicked (left or right click)PlayerMouseMotionEvent- When a player moved the mouse
BreakBlockEvent- When a block is brokenPlaceBlockEvent- When a block is placedUseBlockEvent- When a block is used/interacted withDamageBlockEvent- When a block takes damage
DropItemEvent- When an item is droppedDiscoverZoneEvent- When a zone is discoveredCraftRecipeEvent- When a recipe is craftedSwitchActiveSlotEvent- When switching elements in inventory
HytaleLoader/
├── src/main/java/fr/hytale/loader/
│ ├── api/ # Public API (Player, Item)
│ │ └── inventory/ # Inventory classes
│ ├── command/ # Command system
│ ├── event/ # Event system
│ │ └── types/ # Event classes
│ ├── internal/ # Internal dispatchers
│ └── plugin/ # Plugin base classes
Add HytaleLoader as a dependency in your pom.xml:
<dependency>
<groupId>fr.hytale.loader</groupId>
<artifactId>HytaleLoader</artifactId>
<version>1.0.3</version>
<scope>provided</scope>
</dependency>For issues, questions, or contributions, please visit the GitHub repository.