Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Iskandert-Library — Features Overview
This library contains reusable building blocks used across projects in the Iskandert ecosystem. It focuses on practical gameplay systems (structures, stages, markers, shops/teams) and developer utilities (parsing helpers, transfer bridging, debug tools).
Usage and licensing
The project is released under the MIT License. You are free to use it in your projects (including modifying, redistributing, and using it commercially), as long as the license notice is preserved.
What’s included
Structure system (JSON-driven)
Utilities for defining and placing structures using external JSON definitions:
- Structure definitions: patterns, block keys, replacement rules, and options like force/overwrite.
- Config scanning & loading: discovery of structure JSON files and runtime registration.
- Placement engine: places structures in-world with validation, property application, and optional behaviors (e.g. “place as player”, refresh ticks).
- Undo history: lightweight per-player placement history with undo support.
Key packages/classes:
net.unfamily.iskalib.structure.StructureDefinitionnet.unfamily.iskalib.structure.StructureLoadernet.unfamily.iskalib.structure.StructurePlacernet.unfamily.iskalib.structure.StructurePlacementHistory
Stage system (player / world / team)
A generic “stage” registry designed to gate content and track progression across different scopes:
- Player stages: persistent per-player stage flags.
- World stages: global flags stored in world saved data.
- Team stages: stage flags shared by a team, stored in world saved data.
- Hooks and listeners: integration points for reacting to stage changes.
Key packages/classes:
net.unfamily.iskalib.stage.StageRegistrynet.unfamily.iskalib.stage.StageHooksnet.unfamily.iskalib.stage.StageActionHooks
Team support (shared balances / membership)
Team management for grouping players and sharing balances:
- Create/delete teams
- Manage membership and roles
- Track and query per-team currency balances
Key packages/classes:
net.unfamily.iskalib.team.ShopTeamManager
Shop currency integration hooks
The library stores balances by currency id but does not hardcode a currency catalog. Consumers can provide metadata and suggestions:
- Currency id listing for command autocompletion and UIs
- Currency display metadata (translation key, symbol) when available
Key packages/classes:
net.unfamily.iskalib.shop.ShopCurrencyHooks
World marker utilities (client-side)
Developer-focused marker rendering and helpers, useful for debugging areas, selections, scans, and automation:
- Marker rendering for blocks
- Billboards for positions
- Runtime sessions (non-persistent) for cleaning/reset behavior
- Debug command entrypoint for creating/clearing markers
Key packages/classes:
net.unfamily.iskalib.client.marker.MarkRenderernet.unfamily.iskalib.client.marker.VanillaWorldMarkerClientHooksnet.unfamily.iskalib.marker.MarkerSessionnet.unfamily.iskalib.command.MarkerCommand
Progressive explosion system (server-side)
A modular, lag-friendlier explosion implementation that can run progressively over time:
- Elliptical/horizontal+vertical radius explosions
- Tick-based processing (or instant execution when interval is zero)
- Optional entity damage and “break unbreakable” mode
- Central registry of active explosions with stop/introspection helpers
Key packages/classes:
net.unfamily.iskalib.explosion.ExplosionSystem
Item string parsing and conversion utilities
Helpers for converting “item argument” strings into ItemStack (and back), matching the shape accepted by /give:
- Parse
minecraft:item_idas well as bracketed component syntax likeminecraft:item[component=value,...] - Validate user-provided item strings for configs/commands
- Format an
ItemStackinto an item-argument string (id + component patch)
Key packages/classes:
net.unfamily.iskalib.item.ItemConverter
Transfer bridging (automation compatibility)
Bridges legacy item handlers to NeoForge’s item transfer capability:
- Wraps
IItemHandleras a transactionalResourceHandler<ItemResource> - Uses snapshot journals for rollback when possible (
IItemHandlerModifiable)
Key packages/classes:
net.unfamily.iskalib.transfer.LegacyItemHandlerResourceHandler
Debug helpers and commands
Small, focused utilities intended for development and troubleshooting:
- Hand/item dump helpers
- Debug commands for marker/stage workflows
Key packages/classes:
net.unfamily.iskalib.debug.HandItemDumpnet.unfamily.iskalib.command.IskaLibDebugCommandnet.unfamily.iskalib.command.StageCommand


