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
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 mechanicsuseAutoIncrement- Automatic resource generationuseGameLoop- Game loop managementuseTick- Fine-grained timing controluseIdleProgress- Track and reward idle timeuseOfflineProgress- Handle offline progression
Resource Management
useCurrency- Currency managementuseProduction- Resource production systemuseResourceCap- Resource capacity limitsuseMultiplier- Resource multipliers
Progression Systems
useAchievement- Individual achievement trackinguseAchievements- Bulk achievement managementuseUpgrade- Upgrade systemusePrestige- Prestige mechanicsuseCooldown- Action cooldown system
Utility
useHotKey- Keyboard shortcuts and combinationsuseLoadSaveGame- Load game progressuseSaveGame- Save game progressuseNotation- 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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
đ License
This project is licensed under the MIT License - see the LICENSE file for details.