Mod

Iskandert's Library

Quick rating

Iskandert's Library

No reviews yet

A library of functions used primarily by Iskandert's Team mods

No Theme
No Genre
QoL & Tweaks
API/Library
Mod Loaders
NeoForge
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Required
Server Required

About

Project Details

Type
Mod
License
MIT License
Latest Version
iska_lib-1.8.0.0.0-neoforge-1.21.1.jar
Authors
CurseForge
Modrinth

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

About

Description

Iskandert's Library — Features Overview

This library contains reusable building blocks used across projects in the Iskandert's Team. 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.StructureDefinition
  • net.unfamily.iskalib.structure.StructureLoader
  • net.unfamily.iskalib.structure.StructurePlacer
  • net.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.StageRegistry
  • net.unfamily.iskalib.stage.StageHooks
  • net.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.MarkRenderer
  • net.unfamily.iskalib.client.marker.VanillaWorldMarkerClientHooks
  • net.unfamily.iskalib.marker.MarkerSession
  • net.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_id as well as bracketed component syntax like minecraft:item[component=value,...]
  • Validate user-provided item strings for configs/commands
  • Format an ItemStack into 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 IItemHandler as a transactional ResourceHandler<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.HandItemDump
  • net.unfamily.iskalib.command.IskaLibDebugCommand
  • net.unfamily.iskalib.command.StageCommand

Liquid API:

  • net.unfamily.iskalib.liquid

Iskandert's Library — Features Overview

This library contains reusable building blocks used across projects in the Iskandert's Team. 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.StructureDefinition
  • net.unfamily.iskalib.structure.StructureLoader
  • net.unfamily.iskalib.structure.StructurePlacer
  • net.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.StageRegistry
  • net.unfamily.iskalib.stage.StageHooks
  • net.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.MarkRenderer
  • net.unfamily.iskalib.client.marker.VanillaWorldMarkerClientHooks
  • net.unfamily.iskalib.marker.MarkerSession
  • net.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_id as well as bracketed component syntax like minecraft:item[component=value,...]
  • Validate user-provided item strings for configs/commands
  • Format an ItemStack into 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 IItemHandler as a transactional ResourceHandler<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.HandItemDump
  • net.unfamily.iskalib.command.IskaLibDebugCommand
  • net.unfamily.iskalib.command.StageCommand

Liquid API:

  • net.unfamily.iskalib.liquid

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~6,000
Total Downloads
CurseForge
~6,000
Modrinth
<1,000
Last Updated
CurseForge
Modrinth
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched and imported data for this project from CurseForge or Modrinth. High-traffic and active projects are checked more often.
Next pipeline sync