JSPM

react-incremental-library

0.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q16469F
  • License MIT

A React library for incremental, idle, and clicker games. Build high-performance, engaging experiences with minimal setup.

Package Exports

  • react-incremental-library
  • react-incremental-library/dist/cjs/index.js
  • react-incremental-library/dist/esm/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-incremental-library) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

đŸ•šī¸ React Incremental Game Library

NPM Version License: MIT

A powerful React library for building incremental, idle, and clicker games. Create engaging experiences with minimal setup using our collection of specialized hooks and stores.

🚀 Features

  • 🎮 Game Mechanics - Clickers, auto-incrementers, and cooldown systems
  • 💰 Resource Management - Currency systems and resource caps
  • 🏆 Progression Systems - Achievements and upgrades
  • 💾 Save Systems - Built-in game save/load functionality
  • ⚡ Performance Optimized - Built with React 19 and Zustand
  • 📱 TypeScript Ready - Full type support out of the box

đŸ“Ļ Installation

npm install react-incremental-library
# or
yarn add react-incremental-library
# or
pnpm add react-incremental-library
# or
bun add react-incremental-library

🎮 Quick Start

Basic Clicker Example

import React from 'react';
import { useClicker } from 'react-incremental-library';

export const ClickerGame = () => {
  const { count, handleClick } = useClicker({
    onClick: (val) => console.log(`Clicked! New count: ${val}`),
  });

  return (
    <div>
      <h1>Clicker Game</h1>
      <p>Click Count: {count}</p>
      <button onClick={handleClick}>Click Me</button>
    </div>
  );
};

Auto-Increment Example

import React from 'react';
import { useAutoIncrement, useCurrency } from 'react-incremental-library';

export const IdleGame = () => {
  const { currency } = useCurrency();
  const { pause, resume, isPaused } = useAutoIncrement({
    interval: 1000,
    increaseBy: 5,
    options: { startPaused: false },
  });

  return (
    <div>
      <h1>Idle Game</h1>
      <p>Currency: {currency}</p>
      <button onClick={isPaused ? resume : pause}>
        {isPaused ? 'Resume' : 'Pause'}
      </button>
    </div>
  );
};

📚 Available Hooks

Game Mechanics

  • useClicker - Basic clicking mechanics
  • useAutoIncrement - Automatic resource generation
  • useGameLoop - Game loop management
  • useTick - Fine-grained timing control
  • useIdleProgress - Track and reward idle time
  • useOfflineProgress - Handle offline progression

Resource Management

  • useCurrency - Currency management
  • useProduction - Resource production system
  • useResourceCap - Resource capacity limits
  • useMultiplier - Resource multipliers

Progression Systems

  • useAchievement - Individual achievement tracking
  • useAchievements - Bulk achievement management
  • useUpgrade - Upgrade system
  • usePrestige - Prestige mechanics
  • useCooldown - Action cooldown system

Utility

  • useHotKey - Keyboard shortcuts and combinations
  • useLoadSaveGame - Load game progress
  • useSaveGame - Save game progress
  • useNotation - Number formatting utilities

đŸ—ī¸ Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

â¤ī¸

Reminder that you are great, you are enough, and your presence is valued. If you are struggling with your mental health, please reach out to someone you love and consult a professional. You are not alone; there is a large range of resources online for support and guidance.