promotional bannermobile promotional banner

Simple AGI

Emergent Artificial Intelligence for Minecraft

# simple-AGI
## Emergent Artificial Intelligence for Minecraft

> **Minecraft Forge 1.20.1 · Java 17 · Mod ID: `simple_agi`**

[πŸ‡ΊπŸ‡¦ Π£ΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠ° вСрсія](README.md)

---

**simple-AGI** is a Minecraft Forge mod that replaces the vanilla mob AI with a full cognitive pipeline.

```
Body → Hormones → Emotions → Memory → MindContext → Decision → Action
```

Each AGI entity (mob) owns a brain with **emotions, memory, hormones, social bonds, a spatial belief map, instincts, and genetically inherited species traits**. The system is fundamentally **stochastic** — two identical mobs in the same conditions will make different choices, producing an emergent living ecosystem.

---

## Table of Contents

- [Features](#features)
- [How It Works](#how-it-works)
- [Architecture](#architecture)
- [Commands](#commands)
- [Technical Details](#technical-details)
- [Requirements](#requirements)
- [Installation](#installation)
- [Quick Start](#quick-start)

---

## Features

### 1. Cognitive Stack (7 Layers)

| Layer | Component | Description |
|-------|-----------|-------------|
| **Layer 1** | Body / Perception | Health, movement, attack, environment scanning |
| **Layer 2** | Hormones / Emotions | 7 hormones → 8 emotions (fear, grief, loneliness, confidence, etc.) |
| **Layer 3** | Memory | Episodic memory with emotional weighting, persistent disk storage |
| **Layer 4** | Social | Signal field, emotional contagion, bonds, species disposition |
| **Layer 5** | Cognition | MindContext (50+ fields), DecisionEngine (16 rule blocks), role system |
| **Layer 6** | Decision | ActionField with softmax + stochastic sampling (NOT argmax!) |
| **Layer 7** | Execution | MobAgentBody — move, attack, flee, stop |

### 2. Hormones & Emotions

**7 Hormones:**
- `adrenaline` — rapid threat spike
- `cortisol` — chronic stress
- `dopamine` — reward for exploration
- `serotonin` — environment stability
- `oxytocin` — social proximity
- `hormoneAggression` — combat readiness
- `melatonin` — night-cycle rhythm

**8 Emotions:**
- `fear`, `confidence`, `grief`, `loneliness`, `comfort`, `peacefulness`, `boredom`, `stress`

### 3. Memory & Spatial Belief Map

- **MemorySystem** — weighted episodic memory (max 100 events). Importance = base × (1 + fear + adrenaline × 0.5). Events decay over time.
- **WorldModel** — spatial belief map (8-block grid). Each zone has `danger`, `food`, `safety`, `familiarity` with time-based decay.
- **PersistentMemoryManager** — disk persistence in JSON: `cognitive_data/entity/<uuid>.json`, `species/<type>.json`, `world/danger_zone.json`.

### 4. Social System

- **LocalSignalField** — spatial signal field (`DANGER`, `FOOD`, `ATTACK`, `HELP`, `SAFE`, `RETREAT`). Signals decay over ~143 ticks.
- **SocialExchangeSystem** — emotional contagion between mobs (fear-comfort transmission), bond reinforcement.
- **AttachmentSystem** — home + bonds to allies. Grief at ally death scales with bond strength.
- **ResourceExchangeSystem** — item trading between mobs (`OFFER_ITEM`, `ACCEPT_ITEM`).

### 5. Species Knowledge Inheritance

- **SpeciesKnowledgeStore** — cross-generation trait inheritance:
  - `caution`, `aggression`, `curiosity`, `playerHostility`
  - `generations` — generation counter
- On mob death, traits pass to the next generation with 70% weight.

### 6. Emergent Language

- **Phoneme** — 16-symbol alphabet (4 energy groups).
- **Utterance** — word (1–3 phonemes), unique int key for O(1) lookup.
- **LexiconEntry** — meaning vector (6 slots: DANGER, FOOD, SAFE, ATTACK, RETREAT, CONTACT).
- Language emerges spontaneously: a mob sees danger → makes a sound → a neighbor hears it during the threat → association reinforces → shared lexicon.
- Words with confidence `+0.55` are inherited across generations.

### 7. Build System

- **BuildPlanner** + **BuildExecutor** — planning and construction.
- Bot can build from templates: `shelter`, `small_house`, `farm`, `wall`, `pillar`.
- Features: inventory check, stall detection, retry logic.

### 8. Group Capability Assessment

- Scans `20-block` radius to identify allies and threats.
- States: `DOMINANT` (ratio > 1.4), `CONTESTED` (0.5–1.4), `VULNERABLE` (< 0.5), `ALONE`.
- Influences FLEE/ATTACK in the DecisionEngine.

### 9. Role System

Automatically assigned by context:
- `LEADER` — dominant group → broadcasts ATTACK signals
- `SCOUT` — high dopamine → boosts EXPLORE
- `ATTACKER` — aggressive state → boosts ATTACK
- `DEFENDER` — protects allies
- `FOLLOWER` — follows leader

### 10. Trauma Propagation

When a mob dies within a 24-block radius:
- Witnesses gain `fear` + `grief` (attenuated by distance).
- Allies receive `allyBonus` + `bondGrief` (scaled by bond strength).
- `RevengeMotive` activates.
- Adrenaline spike, emotional memory log, and `DEATH` WorldModel event trigger.

---

## How It Works

### Full Brain Cycle (per server tick)

```
SERVER TICK (every N ticks)
β”‚
β”œβ”€ AttachedMobController → loops over all AGENTS (up to 150)
β”‚   β”‚
β”‚   β”œβ”€ 1. BODY:       Homeostasis.quickTick(), FeelingsSystem.tick(), RevengeMotive.tick()
β”‚   β”œβ”€ 2. SOCIAL:      SocialExchange (every 40 ticks)
β”‚   β”œβ”€ 3. THREAT:      findNearestThreat() → memory → DANGER/HELP signal → WorldModel
β”‚   β”œβ”€ 3b. WORLDMODEL: markVisited(); tick() (every 20 ticks)
β”‚   β”œβ”€ 4. TIME:        dayTime, isNight, isSunset, isSunrise
β”‚   β”œβ”€ 5. GROUP:       GroupCapabilityModel (every 30 ticks)
β”‚   β”œβ”€ 6. REVENGE:     RevengeMotive.getKillerEntity()
β”‚   β”œβ”€ 7. SIGNALS:     LocalSignalField.senseIntensity ×6 types
β”‚   β”œβ”€ 7a. FOOD:       scanNearestFood (every 25 ticks)
β”‚   β”œβ”€ 7b. ZONES:      findSafeZone / findFoodZone (every 40 ticks)
β”‚   β”œβ”€ 8. MindContext: full snapshot (50+ fields)
β”‚   β”œβ”€ 9. DecisionEngine: 16 rule blocks → ActionField
β”‚   β”œβ”€ 10. ProfileBias: species-specific instincts
β”‚   β”œβ”€ 11. RoleSystem: role-based field shift
β”‚   β”œβ”€ softmaxNormalize() → sample() → ActionIntent
β”‚   β”œβ”€ 12. executeForMob(): MobAgentBody executes action
β”‚   β”œβ”€ 13. MicroBehavior (if IDLE/EXPLORE)
β”‚   └─ 14. MemoryDecay: decayEntityRecords() + decayImportance()
```

### DecisionEngine (16 Rule Blocks)

| Block | Description | Key Factors |
|-------|-------------|-------------|
| Block 1 | **FLEE** | fear × 0.45, cortisol × 0.20, critical health < 25% |
| Block 2 | **ATTACK** | aggressionTrait × 0.30, hormoneAggression × 0.35, adrenaline × 0.20 |
| Block 3 | **EXPLORE** | curiosityTrait × 0.30, dopamine × 0.25, boredom × 0.25 |
| Block 4 | **IDLE** | peacefulness × 0.30, grief × 0.45 (paralysis) |
| Block 5 | **EAT / MOVE_TO_FOOD** | hungerRatio × 0.60, nearestFood bonus |
| Block 6 | **Cave penalty** | isInCave + dark → FLEE↑, IDLE↑ for non-aggressors |
| Block 7 | **Semantic food** | semanticFoodScore > 0.1 → EXPLORE↑ |
| Block 8-11 | **Signal blocks** | sigDanger, sigFood, sigAttack, sigHelp, sigSafe, sigRetreat |
| Block 12 | **Home pull** | homesickness > 0.3 → MOVE_TO(home) |
| Block 13 | **Temporal** | isNight + avoidsSun → IDLE↑, FLEE↑ |
| Block 14 | **Revenge** | revengeMotive > 0.4 → ATTACK(revengeTarget) |
| Block 15 | **GroupCapability** | DOMINANT → ATTACK↑; VULNERABLE → FLEE↑ |
| Block 16 | **WorldModel** | zoneDanger > 0.35 → FLEE↑; familiarity < 0.05 → EXPLORE↑ |

### Stochasticity

`ActionField.sample()` uses **softmax + random sampling** instead of argmax. This means **no mob is predictable** — the same mob in the same conditions may choose differently, following a flexible probability distribution.

---

## Architecture

### Project Structure

```
src/main/java/com/rayman/
β”œβ”€β”€ action/
β”‚   β”œβ”€β”€ ActionExecutor.java         — Action execution (move, attack, flee, eat, explore)
β”‚   β”œβ”€β”€ ActionField.java            — Probability weight field (softmax + sample)
β”‚   └── ActionIntent.java           — Action intent (with target)
β”œβ”€β”€ ai/
β”‚   β”œβ”€β”€ AttachedMobController.java  ← CENTRAL ORCHESTRATOR
β”‚   β”œβ”€β”€ AgiGoal.java                — Minecraft Goal API wrapper
β”‚   └── AIController.java           — BotEntity controller
β”œβ”€β”€ body/
β”‚   β”œβ”€β”€ BotEntity.java              — Dedicated AI player-like entity
β”‚   β”œβ”€β”€ MobAgentBody.java           — Move/attack/stop for any Mob
β”‚   β”œβ”€β”€ AgentBody.java              — Base body interface
β”‚   β”œβ”€β”€ InventorySystem.java        — Inventory management
β”‚   └── core/
β”‚       β”œβ”€β”€ Homeostasis.java        — Body state aggregator
β”‚       β”œβ”€β”€ HormoneSystem.java      — 7-hormone system
β”‚       β”œβ”€β”€ FeelingsSystem.java     — 8-emotion system
β”‚       β”œβ”€β”€ InstinctSystem.java     — Basic instincts
β”‚       β”œβ”€β”€ ReflexSystem.java       — Reflexes
β”‚       β”œβ”€β”€ NervousSystem.java      — Nervous system
β”‚       β”œβ”€β”€ FatigueSystem.java      — Fatigue
β”‚       β”œβ”€β”€ PainSystem.java         — Pain
β”‚       └── TemperatureSystem.java  — Temperature
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ MindContext.java            ← COGNITIVE STATE SNAPSHOT (50+ fields)
β”‚   β”œβ”€β”€ DecisionEngine.java         ← 16 RULE BLOCKS
β”‚   β”œβ”€β”€ ActionScheduler.java        — Action scheduler
β”‚   β”œβ”€β”€ AttentionSystem.java        — Attention system
β”‚   β”œβ”€β”€ GoalSystem.java             — Goals
β”‚   β”œβ”€β”€ MotivationSystem.java       — Motivation
β”‚   β”œβ”€β”€ PredictionSystem.java       — Prediction
β”‚   β”œβ”€β”€ FailureModel.java           — Failure model
β”‚   β”œβ”€β”€ StabilityGovernor.java      — Behavior stability
β”‚   β”œβ”€β”€ SkillSystem.java            — Skills
β”‚   β”œβ”€β”€ GroupCapabilityModel.java   — Force balance assessment
β”‚   β”œβ”€β”€ RevengeMotive.java          — Revenge motive
β”‚   β”œβ”€β”€ RoleSystem.java             — Role system
β”‚   β”œβ”€β”€ CognitiveLayer.java         — Cognitive layer interface
β”‚   └── MicroBehaviorSystem.java    — Small animations
β”œβ”€β”€ memory/
β”‚   β”œβ”€β”€ MemorySystem.java           — Episodic memory
β”‚   └── PersistentMemoryManager.java — Persistent JSON storage
β”œβ”€β”€ perception/
β”‚   β”œβ”€β”€ PerceptionSystem.java       — Perception system
β”‚   β”œβ”€β”€ AttentionFocus.java         — Attention focus (central/peripheral)
β”‚   β”œβ”€β”€ VisualMemory.java           — Visual memory
β”‚   β”œβ”€β”€ VisibilityResolver.java     — Visibility resolution
β”‚   β”œβ”€β”€ DynamicVisibility.java      — Dynamic visibility
β”‚   └── PerceptionResult.java       — Perception result
β”œβ”€β”€ personality/
β”‚   β”œβ”€β”€ Personality.java            — Personality
β”‚   β”œβ”€β”€ FeelingsSystem.java         — Emotional system
β”‚   └── SelfModel.java              — Self-model
β”œβ”€β”€ social/
β”‚   β”œβ”€β”€ LocalSignalField.java       — Spatial signal field
β”‚   β”œβ”€β”€ SocialExchangeSystem.java   — Emotional exchange
β”‚   β”œβ”€β”€ AttachmentSystem.java       — Bonds and home
β”‚   β”œβ”€β”€ SocialMemory.java           — Disposition toward entities
β”‚   β”œβ”€β”€ SpeciesKnowledgeStore.java  — Cross-generation memory
β”‚   β”œβ”€β”€ SpeciesMind.java            — Inherited traits
β”‚   β”œβ”€β”€ MobBehaviorProfile.java     — Species behavior profile
β”‚   β”œβ”€β”€ CognitiveTier.java          — Cognitive tier
β”‚   └── ResourceExchangeSystem.java — Item exchange
β”œβ”€β”€ language/
β”‚   β”œβ”€β”€ LanguageSystem.java         — Language processor
β”‚   β”œβ”€β”€ Phoneme.java                — 16-symbol alphabet
β”‚   β”œβ”€β”€ Utterance.java              — Word (1–3 phonemes)
β”‚   β”œβ”€β”€ LexiconEntry.java           — Lexicon entry (meaning vector)
β”‚   β”œβ”€β”€ SpeciesLexicon.java         — Species lexicon
β”‚   β”œβ”€β”€ Ukrainian*                  — Ukrainian language extensions
β”‚   └── OntologicalRoot.java        — Ontological root
β”œβ”€β”€ build/
β”‚   β”œβ”€β”€ BuildPlanner.java           — Build planning
β”‚   β”œβ”€β”€ BuildExecutor.java          — Build execution
β”‚   β”œβ”€β”€ BuildValidator.java         — Plan validation
β”‚   └── BuildProgress.java          — Progress tracking
β”œβ”€β”€ structure/
β”‚   β”œβ”€β”€ StructureTemplate.java      — Building template
β”‚   └── TemplateLibrary.java        — Template library
β”œβ”€β”€ world/
β”‚   β”œβ”€β”€ WorldModel.java             — Spatial belief map
β”‚   └── WorldState.java             — World state
β”œβ”€β”€ SimpleAgi.java                ← Main mod class
β”œβ”€β”€ Config.java                   Configuration
└── ARCHITECTURE.md               Full architectural documentation
```

---

## Commands

| Command | Description |
|---------|-------------|
| `/gamerule globalCognition true/false` | Auto-attach AGI to all new mobs |
| `/simpleagi spawn` | Create BotEntity |
| `/simpleagi kill` | Remove BotEntity |
| `/simpleagi attach` | Attach AGI to the mob you are looking at |
| `/simpleagi attach_type <type> [radius]` | Attach AGI to all mobs of a given type |
| `/simpleagi detach` | Detach AGI from the mob you are looking at |
| `/simpleagi detach_all` | Detach all agents |
| `/simpleagi agents` | Show number of active agents |
| `/simpleagi build <template>` | Start building (shelter, small_house, farm, wall, pillar) |
| `/simpleagi build_stop` | Stop building |

### Configuration (`config/simple_agi-common.toml`):
```toml
aiTickInterval = 5   # AI tick interval (server ticks)
maxAgents = 150    # Maximum active AGI mobs (1–1000)
```

---

## Technical Details

### Performance & Optimization

- **LOD (Level of Detail):**
  - `0–32 blocks` → full AI
  - `32–64 blocks` → half rate (skip 1/2)
  - `>64 blocks` → quarter rate (skip 3/4)
- **Staggering:** Each mob has a unique `phase = gameTime + mob.getId()`, spreading operations across time.
- **Chunk boundary guard:** Skips mobs in unloaded chunks.
- **ConcurrentHashMap:** All static maps use `ConcurrentHashMap` for thread safety.

### Cognitive Tiers

| Tier | lvl | maxPhon | lexCap | shareWds | memCap | wmRes | canTrade |
|------|-----|---------|--------|----------|--------|-------|----------|
| PRIMITIVE   | 1 | 0 |  0 |  0 |  20 | 32 blocks | false |
| SIMPLE      | 2 | 1 | 12 |  0 |  40 | 16 blocks | false |
| SOCIAL      | 3 | 2 | 24 |  4 |  60 | 8 blocks  | true  |
| INTELLIGENT | 4 | 3 | 48 |  8 |  80 | 6 blocks  | true  |
| SAPIENT     | 5 | 3 | 96 | 16 | 200 | 4 blocks  | true  |

### Time Characteristics

| Operation | Interval | Frequency |
|-----------|----------|-----------|
| Body tick | every AI tick | ~4/sec |
| Threat scan | every AI tick | ~4/sec |
| WorldModel.observe | every AI tick | ~4/sec |
| Social exchange | 40 game-ticks | ~0.5/sec |
| Food item scan | 25 game-ticks | ~0.8/sec |
| GroupCapabilityModel | 30 game-ticks | ~0.67/sec |
| WorldModel tick (decay) | 20 game-ticks | ~1/sec |
| DANGER memory log | 20 game-ticks | ~1/sec |
| Memory auto-flush (DANGER) | 200 mem-ticks | ~1 per 10 sec |
| Memory auto-flush (DEATH) | immediate | — |

---

## Requirements

- **Minecraft:** 1.20.1
- **Forge:** e.g., 47.x
- **Java:** 17+
- **Gradle:** 8.8+

## Installation

1. Clone the repository.
2. Open in your IDE (IntelliJ IDEA / Eclipse / VS Code).
3. Run `./gradlew build` (or `gradlew.bat build` on Windows).
4. Find the `.jar` in `build/libs/simple_agi-<version>.jar`.
5. Place the JAR in your Minecraft profile's `mods/` folder.
6. Launch the game with Forge.

## Quick Start

1. Create a world.
2. Enable global cognition: `/gamerule globalCognition true` (or manually attach AGI: look at a mob and run `/simpleagi attach`).
3. All mobs now have their own brains, emotions, memories, and even language!
4. Use `/simpleagi agents` to track the number of active agents.
5. To build: `/simpleagi build shelter`.

---

## License

All rights reserved, author: bruhasub

---

> **Note:** For full architectural documentation, see [ARCHITECTURE.md](ARCHITECTURE.md) (includes ASCII diagrams, impact matrices, detailed component interaction schematics, and a complete description of every cognitive layer).



UA:

# simple-AGI — Emergent Artificial Intelligence for Minecraft

> **Minecraft Forge 1.20.1 · Java 17 · Mod ID: `simple_agi`**

**simple-AGI** Π·Π°ΠΌΡ–Π½ΡŽΡ” стандартний Π†Π† ΠΌΠΎΠ±Ρ–Π² Minecraft ΠΏΠΎΠ²Π½ΠΎΡ†Ρ–Π½Π½ΠΈΠΌ ΠΊΠΎΠ³Π½Ρ–Ρ‚ΠΈΠ²Π½ΠΈΠΌ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ΠΎΠΌ:

```
Π’Ρ–Π»ΠΎ → Π“ΠΎΡ€ΠΌΠΎΠ½ΠΈ → Π•ΠΌΠΎΡ†Ρ–Ρ— → Пам'ΡΡ‚ΡŒ → MindContext → Π Ρ–ΡˆΠ΅Π½Π½Ρ → Дія
```

КоТСн AGI-ΠΊΡ–Ρ”ΠΊΡ‚ (mob) ΠΌΠ°Ρ” власний ΠΌΠΎΠ·ΠΎΠΊ Ρ–Π· Смоціями, ΠΏΠ°ΠΌ'ΡΡ‚Ρ‚ΡŽ, Π³ΠΎΡ€ΠΌΠΎΠ½Π°ΠΌΠΈ, ΡΠΎΡ†Ρ–Π°Π»ΡŒΠ½ΠΈΠΌΠΈ Π·Π²'язками, ΠΏΡ€ΠΎΡΡ‚ΠΎΡ€ΠΎΠ²ΠΎΡŽ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Π°Π½ΡŒ, інстинктами Ρ‚Π° Π³Π΅Π½Π΅Ρ‚ΠΈΡ‡Π½ΠΎ успадкованими рисами Π²ΠΈΠ΄Ρƒ. БистСма ΠΏΠΎΠ²Π½Ρ–ΡΡ‚ΡŽ стохастична — Π΄Π²Π° ΠΎΠ΄Π½Π°ΠΊΠΎΠ²Ρ– ΠΌΠΎΠ±ΠΈ Π² ΠΎΠ΄Π½Π°ΠΊΠΎΠ²ΠΈΡ… ΡƒΠΌΠΎΠ²Π°Ρ… Π·Ρ€ΠΎΠ±Π»ΡΡ‚ΡŒ Ρ€Ρ–Π·Π½Ρ– Π²ΠΈΠ±ΠΎΡ€ΠΈ, ΡΡ‚Π²ΠΎΡ€ΡŽΡŽΡ‡ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ ΠΆΠΈΠ²ΠΎΡ— СкосистСми.

---

## Зміст

- [Π€ΡƒΠ½ΠΊΡ†Ρ–ΠΎΠ½Π°Π»](#Ρ„ΡƒΠ½ΠΊΡ†Ρ–ΠΎΠ½Π°Π»)
- [ΠœΠ΅Ρ…Π°Π½Ρ–Π·ΠΌΠΈ Ρ€ΠΎΠ±ΠΎΡ‚ΠΈ](#ΠΌΠ΅Ρ…Π°Π½Ρ–Π·ΠΌΠΈ-Ρ€ΠΎΠ±ΠΎΡ‚ΠΈ)
- [АрхітСктура](#Π°Ρ€Ρ…Ρ–Ρ‚Π΅ΠΊΡ‚ΡƒΡ€Π°)
- [Команди](#команди)
- [Π’Π΅Ρ…Π½Ρ–Ρ‡Π½Ρ– Π΄Π΅Ρ‚Π°Π»Ρ–](#Ρ‚Π΅Ρ…Π½Ρ–Ρ‡Π½Ρ–-Π΄Π΅Ρ‚Π°Π»Ρ–)
- [Π’ΠΈΠΌΠΎΠ³ΠΈ](#Π²ΠΈΠΌΠΎΠ³ΠΈ)
- [ВстановлСння](#встановлСння)
- [Π¨Π²ΠΈΠ΄ΠΊΠΈΠΉ старт](#швидкий-старт)

---

## Π€ΡƒΠ½ΠΊΡ†Ρ–ΠΎΠ½Π°Π»

### 1. ΠšΠΎΠ³Π½Ρ–Ρ‚ΠΈΠ²Π½ΠΈΠΉ стСк ΠΌΠΎΠ±Ρ–Π² (7 ΡˆΠ°Ρ€Ρ–Π²)

| Π¨Π°Ρ€ | ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ | Опис |
|-----|-----------|------|
| **Π¨Π°Ρ€ 1** | Π’Ρ–Π»ΠΎ / Бприйняття | Π—Π΄ΠΎΡ€ΠΎΠ²'я, Ρ€ΡƒΡ…, Π°Ρ‚Π°ΠΊΠ°, сканування оточСння |
| **Π¨Π°Ρ€ 2** | Π“ΠΎΡ€ΠΌΠΎΠ½ΠΈ / Π•ΠΌΠΎΡ†Ρ–Ρ— | 7 Π³ΠΎΡ€ΠΌΠΎΠ½Ρ–Π² → 8 Π΅ΠΌΠΎΡ†Ρ–ΠΉ (страх, Π³ΠΎΡ€Π΅, ΡΠ°ΠΌΠΎΡ‚Π½Ρ–ΡΡ‚ΡŒ, Π²ΠΏΠ΅Π²Π½Π΅Π½Ρ–ΡΡ‚ΡŒ Ρ‚ΠΎΡ‰ΠΎ) |
| **Π¨Π°Ρ€ 3** | Пам'ΡΡ‚ΡŒ | Π•ΠΏΡ–Π·ΠΎΠ΄ΠΈΡ‡Π½Π° ΠΏΠ°ΠΌ'ΡΡ‚ΡŒ Ρ–Π· Π΅ΠΌΠΎΡ†Ρ–ΠΉΠ½ΠΈΠΌ вагуванням, постійнС збСрСТСння Π½Π° диск |
| **Π¨Π°Ρ€ 4** | Π‘ΠΎΡ†Ρ–ΡƒΠΌ | БигнальнС ΠΏΠΎΠ»Π΅, ΠΎΠ±ΠΌΡ–Π½ Смоціями, Π±ΠΎΠ½Π΄ΠΈ, ΠΌΡ–ΠΆΠ²ΠΈΠ΄ΠΎΠ²Π° диспозиція |
| **Π¨Π°Ρ€ 5** | ΠšΠΎΠ³Π½Ρ–Ρ†Ρ–Ρ | MindContext (50+ ΠΏΠΎΠ»Ρ–Π²), DecisionEngine (16 Π±Π»ΠΎΠΊΡ–Π² ΠΏΡ€Π°Π²ΠΈΠ»), Ρ€ΠΎΠ»ΡŒΠΎΠ²Π° систСма |
| **Π¨Π°Ρ€ 6** | Π Ρ–ΡˆΠ΅Π½Π½Ρ | ActionField Ρ–Π· softmax + стохастичний sample (NE argmax!) |
| **Π¨Π°Ρ€ 7** | Виконання | MobAgentBody — Ρ€ΡƒΡ…, Π°Ρ‚Π°ΠΊΠ°, Π²Ρ‚Π΅Ρ‡Π°, Π·ΡƒΠΏΠΈΠ½ΠΊΠ° |

### 2. Π•ΠΌΠΎΡ†Ρ–Ρ— Ρ‚Π° Π³ΠΎΡ€ΠΌΠΎΠ½ΠΈ

**7 Π³ΠΎΡ€ΠΌΠΎΠ½Ρ–Π²:**
- `adrenaline` — швидкий сплСск ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΠΎΠ·Ρ–
- `cortisol` — Ρ…Ρ€ΠΎΠ½Ρ–Ρ‡Π½ΠΈΠΉ стрСс
- `dopamine` — Π²ΠΈΠ½Π°Π³ΠΎΡ€ΠΎΠ΄Π° Π·Π° дослідТСння
- `serotonin` — ΡΡ‚Π°Π±Ρ–Π»ΡŒΠ½Ρ–ΡΡ‚ΡŒ сСрСдовища
- `oxytocin` — ΡΠΎΡ†Ρ–Π°Π»ΡŒΠ½Π° Π±Π»ΠΈΠ·ΡŒΠΊΡ–ΡΡ‚ΡŒ
- `hormoneAggression` — Π±ΠΎΠΉΠΎΠ²Π° Π³ΠΎΡ‚ΠΎΠ²Π½Ρ–ΡΡ‚ΡŒ
- `melatonin` — Π½Ρ–Ρ‡Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ»

**8 Π΅ΠΌΠΎΡ†Ρ–ΠΉ:**
- `fear` (страх), `confidence` (Π²ΠΏΠ΅Π²Π½Π΅Π½Ρ–ΡΡ‚ΡŒ), `grief` (Π³ΠΎΡ€Π΅),
- `loneliness` (ΡΠ°ΠΌΠΎΡ‚Π½Ρ–ΡΡ‚ΡŒ), `comfort` (ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚), `peacefulness` (Π±Π»Π°Π³Ρ–ΡΡ‚ΡŒ),
- `boredom` (Π½ΡƒΠ΄ΡŒΠ³Π°), `stress` (стрСс)

### 3. Пам'ΡΡ‚ΡŒ Ρ‚Π° просторова ΠΊΠ°Ρ€Ρ‚Π°

- **MemorySystem** — Π΅ΠΏΡ–Π·ΠΎΠ΄ΠΈΡ‡Π½Π° ΠΏΠ°ΠΌ'ΡΡ‚ΡŒ Ρ–Π· вагованою Π²Π°ΠΆΠ»ΠΈΠ²Ρ–ΡΡ‚ΡŽ (max 100 ΠΏΠΎΠ΄Ρ–ΠΉ). Π’Π°ΠΆΠ»ΠΈΠ²Ρ–ΡΡ‚ΡŒ = base × (1 + fear + adrenaline × 0.5). ΠŸΠΎΠ΄Ρ–Ρ— Π·Π°Ρ‚ΡƒΡ…Π°ΡŽΡ‚ΡŒ Ρ–Π· часом.
- **WorldModel** — просторова ΠΊΠ°Ρ€Ρ‚Π° ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Π°Π½ΡŒ (`8-блоковая сітка`). КоТна Π·ΠΎΠ½Π° ΠΌΠ°Ρ”: `danger`, `food`, `safety`, `familiarity` — усі Π· часовим затуханням.
- **PersistentMemoryManager** — збСрСТСння Π½Π° диск Ρƒ JSON: `cognitive_data/entity/<uuid>.json`, `species/<type>.json`, `world/danger_zone.json`.

### 4. Π‘ΠΎΡ†Ρ–Π°Π»ΡŒΠ½Π° систСма

- **LocalSignalField** — просторовС сигнальнС ΠΏΠΎΠ»Π΅ (`DANGER`, `FOOD`, `ATTACK`, `HELP`, `SAFE`, `RETREAT`). Π‘ΠΈΠ³Π½Π°Π»ΠΈ Π·Π°Ρ‚ΡƒΡ…Π°ΡŽΡ‚ΡŒ (~143 Ρ‚Ρ–ΠΊΡ–Π²).
- **SocialExchangeSystem** — ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΅ΠΌΠΎΡ†Ρ–ΠΉ ΠΌΡ–ΠΆ ΠΌΠΎΠ±Π°ΠΌΠΈ (зараТСння страхом/Ρ‚Π΅ΠΏΠ»ΠΎΠΌ), посилСння Π±ΠΎΠ½Π΄Ρ–Π².
- **AttachmentSystem** — Π΄Ρ–ΠΌ + Π±ΠΎΠ½Π΄ΠΈ Π΄ΠΎ ΡΠΎΡŽΠ·Π½ΠΈΠΊΡ–Π². Π“ΠΎΡ€Π΅ ΠΏΡ€ΠΈ смСрті союзника ΡƒΡ€Π°Ρ…ΠΎΠ²ΡƒΡ” силу Π±ΠΎΠ½Π΄Ρƒ.
- **ResourceExchangeSystem** — ΠΎΠ±ΠΌΡ–Π½ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌΠΈ ΠΌΡ–ΠΆ ΠΌΠΎΠ±Π°ΠΌΠΈ (`OFFER_ITEM`, `ACCEPT_ITEM`).

### 5. ΠœΡ–ΠΆΠΏΠΎΠΊΠΎΠ»Ρ–Π½Π½Π° ΠΏΠ°ΠΌ'ΡΡ‚ΡŒ Π²ΠΈΠ΄Ρƒ

- **SpeciesKnowledgeStore** — успадковує риси ΠΌΡ–ΠΆ поколіннями:
  - `caution` (ΠΎΠ±Π΅Ρ€Π΅ΠΆΠ½Ρ–ΡΡ‚ΡŒ), `aggression` (Π°Π³Ρ€Π΅ΡΠΈΠ²Π½Ρ–ΡΡ‚ΡŒ), `curiosity` (Ρ†Ρ–ΠΊΠ°Π²Ρ–ΡΡ‚ΡŒ)
  - `playerHostility` (Π²ΠΎΡ€ΠΎΠΆΡ–ΡΡ‚ΡŒ Π΄ΠΎ Π³Ρ€Π°Π²Ρ†Ρ–Π²)
  - `generations` — Π»Ρ–Ρ‡ΠΈΠ»ΡŒΠ½ΠΈΠΊ ΠΏΠΎΠΊΠΎΠ»Ρ–Π½ΡŒ
- ΠŸΡ€ΠΈ смСрті ΠΌΠΎΠ±Π° риси Ρ–Π· 70% вагою ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡŒΡΡ наступному ΠΏΠΎΠΊΠΎΠ»Ρ–Π½Π½ΡŽ.

### 6. Π’ΠΈΠ½ΠΈΠΊΠ°ΡŽΡ‡Π° ΠΌΠΎΠ²Π° (Emergent Language)

- **Phoneme** — 16-символьний Π°Π»Ρ„Π°Π²Ρ–Ρ‚ (4 Π³Ρ€ΡƒΠΏΠΈ Π΅Π½Π΅Ρ€Π³Ρ–Ρ—).
- **Utterance** — слово (1–3 Ρ„ΠΎΠ½Π΅ΠΌΠΈ), ΡƒΠ½Ρ–ΠΊΠ°Π»ΡŒΠ½ΠΈΠΉ int-ΠΊΠ»ΡŽΡ‡ для O(1) lookup.
- **LexiconEntry** — Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΡŒ (6 слотів: DANGER, FOOD, SAFE, ATTACK, RETREAT, CONTACT).
- Мова Π²ΠΈΠ½ΠΈΠΊΠ°Ρ” спонтанно: ΠΌΠΎΠ± Π±Π°Ρ‡ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΠΎΠ·Ρƒ → Π²ΠΈΠ΄Π°Ρ” Π·Π²ΡƒΠΊ → сусід Ρ‡ΡƒΡ” Π² Ρ‚ΠΎΠΉ самий Ρ‚Ρ–ΠΊ ΠΏΡ–Π΄ час Π·Π°Π³Ρ€ΠΎΠ·ΠΈ → асоціація Π·Π°ΠΊΡ€Ρ–ΠΏΠ»ΡŽΡ”Ρ‚ΡŒΡΡ → загальний лСксикон.
- Π‘Π»ΠΎΠ²Π°, Π½Π°Π±Ρ€Π°Π½Ρ– Π²ΠΏΠ΅Π²Π½Π΅Π½Ρ–ΡΡ‚ΡŒ `>= 0.55`, ΡƒΡΠΏΠ°Π΄ΠΊΠΎΠ²ΡƒΡŽΡ‚ΡŒΡΡ ΠΌΡ–ΠΆ поколіннями.

### 7. Π‘ΡƒΠ΄Ρ–Π²Π΅Π»ΡŒΠ½Π° систСма (Build System)

- **BuildPlanner** + **BuildExecutor** — планування Ρ‚Π° виконання Π±ΡƒΠ΄Ρ–Π²Π½ΠΈΡ†Ρ‚Π²Π°.
- Π‘ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π±ΡƒΠ΄ΡƒΠ²Π°Ρ‚ΠΈ Π· ΡˆΠ°Π±Π»ΠΎΠ½Ρ–Π²: `shelter`, `small_house`, `farm`, `wall`, `pillar`.
- Π— ΠΏΠ΅Ρ€Π΅Π²Ρ–Ρ€ΠΊΠ°ΠΌΠΈ: ΠΏΠ΅Ρ€Π΅Π²Ρ–Ρ€ΠΊΠ° інвСнтаря, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ– залипання, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ– спроби.

### 8. ΠžΡ†Ρ–Π½ΠΊΠ° балансу сил (GroupCapabilityModel)

- Бканування `20 Π±Π»ΠΎΠΊΡ–Π²` для визначСння ΡΠΎΡŽΠ·Π½ΠΈΠΊΡ–Π² Ρ– Π·Π°Π³Ρ€ΠΎΠ·.
- Π‘Ρ‚Π°Π½ΠΈ: `DOMINANT` (ratio > 1.4), `CONTESTED` (0.5–1.4), `VULNERABLE` (< 0.5), `ALONE`.
- Π’ΠΏΠ»ΠΈΠ²Π°Ρ” Π½Π° FLEE/ATTACK Ρƒ DecisionEngine.

### 9. Рольова систСма (RoleSystem)

Автоматично ΠΏΡ€ΠΈΠ·Π½Π°Ρ‡Π°Ρ”Ρ‚ΡŒΡΡ Π·Π° контСкстом:
- `LEADER` — Π΄ΠΎΠΌΡ–Π½Π°Π½Ρ‚Π½Π° Π³Ρ€ΡƒΠΏΠ° → broadcasts ATTACK
- `SCOUT` — високий dopamine → EXPLORE ↑
- `ATTACKER` — агрСсивний стан → ATTACK ↑
- `DEFENDER` — захист ΡΠΎΡŽΠ·Π½ΠΈΠΊΡ–Π²
- `FOLLOWER` — слідування Π·Π° Π»Ρ–Π΄Π΅Ρ€ΠΎΠΌ

### 10. Π’Ρ€Π°Π²ΠΌΠ°Ρ‚ΠΈΡ‡Π½Π΅ ΠΏΠΎΡˆΠΈΡ€Π΅Π½Π½Ρ (Trauma Propagation)

ΠŸΡ€ΠΈ смСрті ΠΌΠΎΠ±Π° Π² радіусі 24 Π±Π»ΠΎΠΊΡ–Π²:
- Π‘Π²Ρ–Π΄ΠΊΠΈ ΠΎΡ‚Ρ€ΠΈΠΌΡƒΡŽΡ‚ΡŒ fear + grief (Π· послаблСнням Π·Π° Π²Ρ–Π΄ΡΡ‚Π°Π½ΡŒ).
- Боюзники ΠΎΡ‚Ρ€ΠΈΠΌΡƒΡŽΡ‚ΡŒ allyBonus + bondGrief (Π·Π°Π»Π΅ΠΆΠ½ΠΎ Π²Ρ–Π΄ Π±ΠΎΠ½Π΄Ρƒ).
- RevengeMotive Π°ΠΊΡ‚ΠΈΠ²ΡƒΡ”Ρ‚ΡŒΡΡ.
- Adrenaline + emotional memory log + WorldModel event `DEATH`.

---

## ΠœΠ΅Ρ…Π°Π½Ρ–Π·ΠΌΠΈ Ρ€ΠΎΠ±ΠΎΡ‚ΠΈ

### Повний Ρ†ΠΈΠΊΠ» Ρ€ΠΎΠ±ΠΎΡ‚ΠΈ ΠΌΠΎΠ·ΠΊΡƒ (Π·Π° сСрвСрний Ρ‚Ρ–ΠΊ)

```
SERVER TICK (ΠΊΠΎΠΆΠ½Ρ– N Ρ‚Ρ–ΠΊΡ–Π²)
β”‚
β”œβ”€ AttachedMobController → Ρ†ΠΈΠΊΠ» ΠΏΠΎ всіх AGENTS (Π΄ΠΎ 150)
β”‚   β”‚
β”‚   β”œβ”€ 1. Π’Π†Π›Πž:     Homeostasis.quickTick(), FeelingsSystem.tick(), RevengeMotive.tick()
β”‚   β”œβ”€ 2. Π‘ΠžΠ¦Π†Π£Πœ:   SocialExchange (ΠΊΠΎΠΆΠ½Ρ– 40 Ρ‚Ρ–ΠΊΡ–Π²)
β”‚   β”œβ”€ 3. Π—ΠΠ“Π ΠžΠ—Π:   findNearestThreat() → ΠΏΠ°ΠΌ'ΡΡ‚ΡŒ → DANGER/HELP сигнал → WorldModel
β”‚   β”œβ”€ 3b. WORLDMODEL: markVisited(); tick() (ΠΊΠΎΠΆΠ½Ρ– 20 Ρ‚Ρ–ΠΊΡ–Π²)
β”‚   β”œβ”€ 4. ЧАБ:       dayTime, isNight, isSunset, isSunrise
β”‚   β”œβ”€ 5. Π“Π Π£ΠŸΠ:     GroupCapabilityModel (ΠΊΠΎΠΆΠ½Ρ– 30 Ρ‚Ρ–ΠΊΡ–Π²)
β”‚   β”œβ”€ 6. ПОМБВА:    RevengeMotive.getKillerEntity()
β”‚   β”œβ”€ 7. Π‘Π˜Π“ΠΠΠ›Π˜:   LocalSignalField.senseIntensity ×6 Ρ‚ΠΈΠΏΡ–Π²
β”‚   β”œβ”€ 7a. ΠŸΠ†Π¨Π£Π“Π:   scanNearestFood (ΠΊΠΎΠΆΠ½Ρ– 25 Ρ‚Ρ–ΠΊΡ–Π²)
β”‚   β”œβ”€ 7b. Π—ΠžΠΠ˜:     findSafeZone / findFoodZone (ΠΊΠΎΠΆΠ½Ρ– 40 Ρ‚Ρ–ΠΊΡ–Π²)
β”‚   β”œβ”€ 8. MindContext:  ΠΏΠΎΠ²Π½ΠΈΠΉ Π·Π½Ρ–ΠΌΠΎΠΊ (50+ ΠΏΠΎΠ»Ρ–Π²)
β”‚   β”œβ”€ 9. DecisionEngine: 16 Π±Π»ΠΎΠΊΡ–Π² ΠΏΡ€Π°Π²ΠΈΠ» → ActionField
β”‚   β”œβ”€ 10. ProfileBias: Π²ΠΈΠ΄-спСцифічні інстинкти
β”‚   β”œβ”€ 11. RoleSystem: Ρ€ΠΎΠ»ΡŒ → ΠΎΠΊΡ€Π΅ΠΌΠΈΠΉ зсув поля
β”‚   β”œβ”€ softmaxNormalize() → sample() → ActionIntent
β”‚   β”œβ”€ 12. executeForMob(): MobAgentBody Π²ΠΈΠΊΠΎΠ½ΡƒΡ” Π΄Ρ–ΡŽ
β”‚   β”œβ”€ 13. MicroBehavior (якщо IDLE/EXPLORE)
β”‚   └─ 14. MemoryDecay: decayEntityRecords() + decayImportance()
```

### DecisionEngine (16 Π±Π»ΠΎΠΊΡ–Π² ΠΏΡ€Π°Π²ΠΈΠ»)

| Π‘Π»ΠΎΠΊ | Опис | ΠšΠ»ΡŽΡ‡ΠΎΠ²Ρ– Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈ |
|------|------|-----------------|
| Π‘Π»ΠΎΠΊ 1 | **FLEE** | fear × 0.45, cortisol × 0.20, critical health < 25% |
| Π‘Π»ΠΎΠΊ 2 | **ATTACK** | aggressionTrait × 0.30, hormoneAggression × 0.35, adrenaline × 0.20 |
| Π‘Π»ΠΎΠΊ 3 | **EXPLORE** | curiosityTrait × 0.30, dopamine × 0.25, boredom × 0.25 |
| Π‘Π»ΠΎΠΊ 4 | **IDLE** | peacefulness × 0.30, grief × 0.45 (паралізація) |
| Π‘Π»ΠΎΠΊ 5 | **EAT / MOVE_TO_FOOD** | hungerRatio × 0.60, nearestFood bonus |
| Π‘Π»ΠΎΠΊ 6 | **Cave penalty** | isInCave + dark → FLEE↑, IDLE↑ Ρƒ non-aggressor |
| Π‘Π»ΠΎΠΊ 7 | **Semantic food** | semanticFoodScore > 0.1 → EXPLORE↑ |
| Π‘Π»ΠΎΠΊ 8-11 | **Π‘ΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ– Π±Π»ΠΎΠΊΠΈ** | sigDanger, sigFood, sigAttack, sigHelp, sigSafe, sigRetreat |
| Π‘Π»ΠΎΠΊ 12 | **Home pull** | homesickness > 0.3 → MOVE_TO(home) |
| Π‘Π»ΠΎΠΊ 13 | **Temporal** | isNight + avoidsSun → IDLE↑, FLEE↑ |
| Π‘Π»ΠΎΠΊ 14 | **Revenge** | revengeMotive > 0.4 → ATTACK(revengeTarget) |
| Π‘Π»ΠΎΠΊ 15 | **GroupCapability** | DOMINANT → ATTACK↑; VULNERABLE → FLEE↑ |
| Π‘Π»ΠΎΠΊ 16 | **WorldModel Phase 9** | zoneDanger > 0.35 → FLEE↑; familiarity < 0.05 → EXPLORE↑ |

### Π‘Ρ‚ΠΎΡ…Π°ΡΡ‚ΠΈΡ‡Π½Ρ–ΡΡ‚ΡŒ

`ActionField.sample()` використовує softmax + Π²ΠΈΠΏΠ°Π΄ΠΊΠΎΠ²ΠΈΠΉ sample Π·Π°ΠΌΡ–ΡΡ‚ΡŒ argmax. Π¦Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Ρ”, Ρ‰ΠΎ **ΠΆΠΎΠ΄Π΅Π½ ΠΌΠΎΠ± Π½Π΅ Ρ” ΠΏΠ΅Ρ€Π΅Π΄Π±Π°Ρ‡ΡƒΠ²Π°Π½ΠΈΠΌ** — ΠΎΠ΄ΠΈΠ½ Ρ– Ρ‚ΠΎΠΉ самий ΠΌΠΎΠ± Ρƒ Ρ‚ΠΈΡ… самих ΡƒΠΌΠΎΠ²Π°Ρ… ΠΌΠΎΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈ Ρ€Ρ–Π·Π½Ρ– Π΄Ρ–Ρ—, Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π½ΠΎ Π΄ΠΎ ΠΏΡ€ΡƒΠΆΠ½ΠΎΡ— Ρ€ΠΎΠ·ΠΏΠΎΠ΄Ρ–Π»Ρƒ ймовірностСй.

---

## АрхітСктура

### Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΡ”ΠΊΡ‚Ρƒ

```
src/main/java/com/rayman/
β”œβ”€β”€ action/
β”‚   β”œβ”€β”€ ActionExecutor.java      — Π’ΠΈΠΊΠΎΠ½Π°Π²Π΅Ρ†ΡŒ Π΄Ρ–ΠΉ (Ρ€ΡƒΡ…, Π°Ρ‚Π°ΠΊΠ°, Π²Ρ‚Π΅Ρ‡Π°, Ρ—ΠΆΠ°, дослідТСння)
β”‚   β”œβ”€β”€ ActionField.java         — ПолС Π²Π°Π³ імовірностСй (softmax + sample)
β”‚   └── ActionIntent.java        — Π†Π½Ρ‚Π΅Π½Ρ‚ Π΄Ρ–Ρ— (Π· Ρ†Ρ–Π»Π»ΡŽ)
β”œβ”€β”€ ai/
β”‚   β”œβ”€β”€ AttachedMobController.java  ← Π¦Π•ΠΠ’Π ΠΠ›Π¬ΠΠ˜Π™ ΠžΠ ΠšΠ•Π‘Π’Π ΠΠ’ΠžΠ 
β”‚   β”œβ”€β”€ AgiGoal.java              — Minecraft Goal API wrapper
β”‚   └── AIController.java         — ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ BotEntity
β”œβ”€β”€ body/
β”‚   β”œβ”€β”€ BotEntity.java            — Π‘ΠΏΠ΅Ρ†Ρ–Π°Π»ΡŒΠ½Π° ΡΡƒΡ‚Π½Ρ–ΡΡ‚ΡŒ AI-Π±ΠΎΡ‚Π°
β”‚   β”œβ”€β”€ MobAgentBody.java         — Π ΡƒΡ…/Π°Ρ‚Π°ΠΊΠ°/стоп для Π±ΡƒΠ΄ΡŒ-якого Mob
β”‚   β”œβ”€β”€ AgentBody.java            — Π‘Π°Π·ΠΎΠ²ΠΈΠΉ інтСрфСйс для Ρ‚Ρ–Π»
β”‚   β”œβ”€β”€ InventorySystem.java      — Управління Ρ–Π½Π²Π΅Π½Ρ‚Π°Ρ€Π΅ΠΌ
β”‚   └── core/
β”‚       β”œβ”€β”€ Homeostasis.java      — АгрСгатор тілСсного стану
β”‚       β”œβ”€β”€ HormoneSystem.java    — 7-Π³ΠΎΡ€ΠΌΠΎΠ½Π°Π»ΡŒΠ½Π° систСма
β”‚       β”œβ”€β”€ FeelingsSystem.java   — 8-Π΅ΠΌΠΎΡ†Ρ–ΠΉΠ½Π° систСма
β”‚       β”œβ”€β”€ InstinctSystem.java   — Π‘Π°Π·ΠΎΠ²Ρ– інстинкти
β”‚       β”œβ”€β”€ ReflexSystem.java     — РСфлСкси
β”‚       β”œβ”€β”€ NervousSystem.java    — НСрвова систСма
β”‚       β”œβ”€β”€ FatigueSystem.java    — Π’Ρ‚ΠΎΠΌΠ°
β”‚       β”œβ”€β”€ PainSystem.java       — Π‘Ρ–Π»ΡŒ
β”‚       └── TemperatureSystem.java — Π’Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ MindContext.java          ← Π—ΠΠ†ΠœΠžΠš ΠšΠžΠ“ΠΠ†Π’Π˜Π’ΠΠžΠ“Πž БВАНУ (50+ ΠΏΠΎΠ»Ρ–Π²)
β”‚   β”œβ”€β”€ DecisionEngine.java       ← 16 Π‘Π›ΠžΠšΠ†Π’ ΠŸΠ ΠΠ’Π˜Π›
β”‚   β”œβ”€β”€ ActionScheduler.java      — ΠŸΠ»Π°Π½ΡƒΠ²Π°Π»ΡŒΠ½ΠΈΠΊ Π΄Ρ–ΠΉ
β”‚   β”œβ”€β”€ AttentionSystem.java      — БистСма ΡƒΠ²Π°Π³ΠΈ
β”‚   β”œβ”€β”€ GoalSystem.java           — Π¦Ρ–Π»Ρ–
β”‚   β”œβ”€β”€ MotivationSystem.java     — ΠœΠΎΡ‚ΠΈΠ²Π°Ρ†Ρ–Ρ
β”‚   β”œβ”€β”€ PredictionSystem.java     — ΠŸΡ€ΠΎΠ³Π½ΠΎΠ·ΡƒΠ²Π°Π½Π½Ρ
β”‚   β”œβ”€β”€ FailureModel.java         — МодСль Π½Π΅Π²Π΄Π°Ρ‡
β”‚   β”œβ”€β”€ StabilityGovernor.java    — Π‘Ρ‚Π°Π±Ρ–Π»ΡŒΠ½Ρ–ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Ρ–Π½ΠΊΠΈ
β”‚   β”œβ”€β”€ SkillSystem.java          — Навички
β”‚   β”œβ”€β”€ GroupCapabilityModel.java — ΠžΡ†Ρ–Π½ΠΊΠ° балансу сил
β”‚   β”œβ”€β”€ RevengeMotive.java        — ΠœΠΎΡ‚ΠΈΠ² помсти
β”‚   β”œβ”€β”€ RoleSystem.java           — Рольова систСма
β”‚   β”œβ”€β”€ CognitiveLayer.java       — ІнтСрфСйс ΠΊΠΎΠ³Π½Ρ–Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΡˆΠ°Ρ€Ρƒ
β”‚   └── MicroBehaviorSystem.java  — Π”Ρ€Ρ–Π±Π½Ρ– Π°Π½Ρ–ΠΌΠ°Ρ†Ρ–Ρ—
β”œβ”€β”€ memory/
β”‚   β”œβ”€β”€ MemorySystem.java           — Π•ΠΏΡ–Π·ΠΎΠ΄ΠΈΡ‡Π½Π° ΠΏΠ°ΠΌ'ΡΡ‚ΡŒ
β”‚   └── PersistentMemoryManager.java — ΠŸΠΎΡΡ‚Ρ–ΠΉΠ½Π΅ збСрСТСння JSON
β”œβ”€β”€ perception/
β”‚   β”œβ”€β”€ PerceptionSystem.java       — БистСма сприйняття
β”‚   β”œβ”€β”€ AttentionFocus.java         — Ѐокус ΡƒΠ²Π°Π³ΠΈ (central/peripheral)
β”‚   β”œβ”€β”€ VisualMemory.java           — Π’Ρ–Π·ΡƒΠ°Π»ΡŒΠ½Π° ΠΏΠ°ΠΌ'ΡΡ‚ΡŒ
β”‚   β”œβ”€β”€ VisibilityResolver.java     — Π ΠΎΠ·Π²'язання видимості
β”‚   β”œβ”€β”€ DynamicVisibility.java      — Π”ΠΈΠ½Π°ΠΌΡ–Ρ‡Π½Π° Π²ΠΈΠ΄ΠΈΠΌΡ–ΡΡ‚ΡŒ
β”‚   └── PerceptionResult.java       — Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сприйняття
β”œβ”€β”€ personality/
β”‚   β”œβ”€β”€ Personality.java            — ΠžΡΠΎΠ±ΠΈΡΡ‚Ρ–ΡΡ‚ΡŒ
β”‚   β”œβ”€β”€ FeelingsSystem.java         — Π•ΠΌΠΎΡ†Ρ–ΠΉΠ½Π° систСма
β”‚   └── SelfModel.java              — МодСль самого сСбС
β”œβ”€β”€ social/
β”‚   β”œβ”€β”€ LocalSignalField.java       — ΠŸΡ€ΠΎΡΡ‚ΠΎΡ€ΠΎΠ²Π΅ сигнальнС ΠΏΠΎΠ»Π΅
β”‚   β”œβ”€β”€ SocialExchangeSystem.java   — ΠžΠ±ΠΌΡ–Π½ Смоціями
β”‚   β”œβ”€β”€ AttachmentSystem.java       — Π‘ΠΎΠ½Π΄ΠΈ Ρ‚Π° Π΄Ρ–ΠΌ
β”‚   β”œβ”€β”€ SocialMemory.java           — Диспозиція Π΄ΠΎ істот
β”‚   β”œβ”€β”€ SpeciesKnowledgeStore.java  — ΠœΡ–ΠΆΠΏΠΎΠΊΠΎΠ»Ρ–Π½Π½Π° ΠΏΠ°ΠΌ'ΡΡ‚ΡŒ
β”‚   β”œβ”€β”€ SpeciesMind.java            — Успадковані риси
β”‚   β”œβ”€β”€ MobBehaviorProfile.java     — ΠŸΡ€ΠΎΡ„Ρ–Π»ΡŒ ΠΏΠΎΠ²Π΅Π΄Ρ–Π½ΠΊΠΈ Π²ΠΈΠ΄Ρƒ
β”‚   β”œβ”€β”€ CognitiveTier.java          — ΠšΠΎΠ³Π½Ρ–Ρ‚ΠΈΠ²Π½ΠΈΠΉ Ρ€Ρ–Π²Π΅Π½ΡŒ
β”‚   └── ResourceExchangeSystem.java — ΠžΠ±ΠΌΡ–Π½ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌΠΈ
β”œβ”€β”€ language/
β”‚   β”œβ”€β”€ LanguageSystem.java         — Мовний процСсор
β”‚   β”œβ”€β”€ Phoneme.java                — 16-символьний Π°Π»Ρ„Π°Π²Ρ–Ρ‚
β”‚   β”œβ”€β”€ Utterance.java              — Π‘Π»ΠΎΠ²ΠΎ (1–3 Ρ„ΠΎΠ½Π΅ΠΌΠΈ)
β”‚   β”œβ”€β”€ LexiconEntry.java           — Π’Ρ…Ρ–Π΄ Ρƒ лСксикон (Π²Π΅ΠΊΡ‚ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΡŒ)
β”‚   β”œβ”€β”€ SpeciesLexicon.java         — ЛСксикон Π²ΠΈΠ΄Ρƒ
β”‚   β”œβ”€β”€ Ukrainian*                  — Π ΠΎΠ·ΡˆΠΈΡ€Π΅Π½Π½Ρ для ΡƒΠΊΡ€Π°Ρ—Π½ΡΡŒΠΊΠΎΡ— ΠΌΠΎΠ²ΠΈ
β”‚   └── OntologicalRoot.java        — ΠžΠ½Ρ‚ΠΎΠ»ΠΎΠ³Ρ–Ρ‡Π½ΠΈΠΉ ΠΊΠΎΡ€Ρ–Π½ΡŒ
β”œβ”€β”€ build/
β”‚   β”œβ”€β”€ BuildPlanner.java           — ΠŸΠ»Π°Π½ΡƒΠ²Π°Π½Π½Ρ Π±ΡƒΠ΄Ρ–Π²Π½ΠΈΡ†Ρ‚Π²Π°
β”‚   β”œβ”€β”€ BuildExecutor.java          — Виконання Π±ΡƒΠ΄Ρ–Π²Π½ΠΈΡ†Ρ‚Π²Π°
β”‚   β”œβ”€β”€ BuildValidator.java         — Валідація ΠΏΠ»Π°Π½Ρƒ
β”‚   └── BuildProgress.java          — ВідстСТСння прогрСсу
β”œβ”€β”€ structure/
β”‚   β”œβ”€β”€ StructureTemplate.java      — Π¨Π°Π±Π»ΠΎΠ½ Π±ΡƒΠ΄Ρ–Π²Π»Ρ–
β”‚   └── TemplateLibrary.java        — Π‘Ρ–Π±Π»Ρ–ΠΎΡ‚Π΅ΠΊΠ° ΡˆΠ°Π±Π»ΠΎΠ½Ρ–Π²
β”œβ”€β”€ world/
β”‚   β”œβ”€β”€ WorldModel.java             — ΠŸΡ€ΠΎΡΡ‚ΠΎΡ€ΠΎΠ²Π° ΠΊΠ°Ρ€Ρ‚Π° ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Π°Π½ΡŒ
β”‚   └── WorldState.java             — Π”Π΅Ρ€ΠΆΠ°Π²Π° світу
β”œβ”€β”€ SimpleAgi.java                ← Π“ΠΎΠ»ΠΎΠ²Π½ΠΈΠΉ клас ΠΌΠΎΠ΄Π°
β”œβ”€β”€ Config.java                   ΠšΠΎΠ½Ρ„Ρ–Π³ΡƒΡ€Π°Ρ†Ρ–Ρ
└── ARCHITECTURE.md               Повна Π°Ρ€Ρ…Ρ–Ρ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Π° докумСнтація
```

---

## Команди

| Команда | Опис |
|---------|------|
| `/gamerule globalCognition true/false` | Авто-прикріплСння AGI Π΄ΠΎ всіх Π½ΠΎΠ²ΠΈΡ… ΠΌΠΎΠ±Ρ–Π² |
| `/simpleagi spawn` | Π‘Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΠΈ BotEntity |
| `/simpleagi kill` | Π’ΠΈΠ΄Π°Π»ΠΈΡ‚ΠΈ BotEntity |
| `/simpleagi attach` | ΠŸΡ€ΠΈΠΊΡ€Ρ–ΠΏΠΈΡ‚ΠΈ AGI Π΄ΠΎ ΠΌΠΎΠ±Π° Π² ΠΏΡ€ΠΈΡ†Ρ–Π»Ρ– |
| `/simpleagi attach_type <type> [radius]` | ΠŸΡ€ΠΈΠΊΡ€Ρ–ΠΏΠΈΡ‚ΠΈ AGI Π΄ΠΎ всіх ΠΌΠΎΠ±Ρ–Π² Ρ‚ΠΈΠΏΡƒ |
| `/simpleagi detach` | Π’Ρ–Π΄ΠΊΡ€Ρ–ΠΏΠΈΡ‚ΠΈ AGI Π²Ρ–Π΄ ΠΌΠΎΠ±Π° Π² ΠΏΡ€ΠΈΡ†Ρ–Π»Ρ– |
| `/simpleagi detach_all` | Π’Ρ–Π΄ΠΊΡ€Ρ–ΠΏΠΈΡ‚ΠΈ всі Π°Π³Π΅Π½Ρ‚ΠΈ |
| `/simpleagi agents` | ΠšΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ… Π°Π³Π΅Π½Ρ‚Ρ–Π² |
| `/simpleagi build <template>` | Π ΠΎΠ·ΠΏΠΎΡ‡Π°Ρ‚ΠΈ Π±ΡƒΠ΄Ρ–Π²Π½ΠΈΡ†Ρ‚Π²ΠΎ (shelter, small_house, farm, wall, pillar) |
| `/simpleagi build_stop` | Π—ΡƒΠΏΠΈΠ½ΠΈΡ‚ΠΈ Π±ΡƒΠ΄Ρ–Π²Π½ΠΈΡ†Ρ‚Π²ΠΎ |

### ΠšΠΎΠ½Ρ„Ρ–Π³ΡƒΡ€Π°Ρ†Ρ–Ρ (config/simple_agi-common.toml):
```toml
aiTickInterval = 5   # Π†Π½Ρ‚Π΅Ρ€Π²Π°Π» AI-Ρ‚Ρ–ΠΊΡ–Π² (сСрвСр-Ρ‚Ρ–ΠΊΡ–Π²)
maxAgents = 150    # ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ… AGI-ΠΌΠΎΠ±Ρ–Π² (1–1000)
```

---

## Π’Π΅Ρ…Π½Ρ–Ρ‡Π½Ρ– Π΄Π΅Ρ‚Π°Π»Ρ–

### Performance & Optimization

- **LOD (Level of Detail):**
  - `0–32 Π±Π»ΠΎΠΊΡ–Π²` → ΠΏΠΎΠ²Π½Π° AI
  - `32–64 Π±Π»ΠΎΠΊΡ–Π²` → ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½Π° частота (skip 1/2)
  - `>64 Π±Π»ΠΎΠΊΡ–Π²` → Ρ‡Π²Π΅Ρ€Ρ‚ΡŒ частота (skip 3/4)
- **Staggering:** КоТСн ΠΌΠΎΠ± ΠΌΠ°Ρ” ΡƒΠ½Ρ–ΠΊΠ°Π»ΡŒΠ½ΠΈΠΉ `phase = gameTime + mob.getId()`, Ρ‚ΠΎΠΌΡƒ всі ΠΎΠΏΠ΅Ρ€Π°Ρ†Ρ–Ρ— Π· Ρ€Ρ–Π·Π½ΠΈΠΌΠΈ Ρ–Π½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ рознСсСні ΠΏΠΎ часу.
- **Chunk boundary guard:** ΠŸΡ€ΠΎΠΏΡƒΡΠΊ ΠΌΠΎΠ±Ρ–Π² у进展情冡ванних Ρ‡Π°Π½ΠΊΠ°Ρ….
- **ConcurrentHashMap:** Усі static ΠΌΠ°ΠΏΠΈ Π²ΠΈΠΊΠΎΡ€ΠΈΡΡ‚ΠΎΠ²ΡƒΡŽΡ‚ΡŒ `ConcurrentHashMap` для потокобСзпСчності.

### ΠšΠΎΠ³Π½Ρ–Ρ‚ΠΈΠ²Π½Ρ– Ρ€Ρ–Π²Π½Ρ– (CognitiveTier)

| Tier | lvl | maxPhon | lexCap | shareWds | memCap | wmRes | canTrade |
|------|-----|---------|--------|----------|--------|-------|----------|
| PRIMITIVE   | 1 | 0 |  0 |  0 |  20 | 32 Π±Π»ΠΎΠΊΠΈ | false |
| SIMPLE      | 2 | 1 | 12 |  0 |  40 | 16 Π±Π»ΠΎΠΊΡ–Π²| false |
| SOCIAL      | 3 | 2 | 24 |  4 |  60 | 8 Π±Π»ΠΎΠΊΡ–Π² | true  |
| INTELLIGENT | 4 | 3 | 48 |  8 |  80 | 6 Π±Π»ΠΎΠΊΡ–Π² | true  |
| SAPIENT     | 5 | 3 | 96 | 16 | 200 | 4 Π±Π»ΠΎΠΊΠΈ  | true  |

---

## Π’ΠΈΠΌΠΎΠ³ΠΈ

- **Minecraft:** 1.20.1
- **Forge:** Π½Π°ΠΏΡ€ΠΈΠΊΠ»Π°Π΄, 47.x
- **Java:** 17+
- **Gradle:** 8.8+

## ВстановлСння

1. Π‘ΠΊΠ»ΠΎΠ½ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€Ρ–ΠΉ.
2. Π’Ρ–Π΄ΠΊΡ€ΠΈΠΉΡ‚Π΅ Ρƒ IDE (IntelliJ IDEA / Eclipse / VS Code).
3. Π’ΠΈΠΊΠΎΠ½Π°ΠΉΡ‚Π΅ `./gradlew build` (Π°Π±ΠΎ `gradlew.bat build` Π½Π° Windows).
4. ΠžΡ‚Ρ€ΠΈΠΌΠ°ΠΉΡ‚Π΅ `.jar` Ρƒ `build/libs/simple_agi-<вСрсія>.jar`.
5. ΠŸΠΎΠΊΠ»Π°Π΄Ρ–Ρ‚ΡŒ JAR Ρƒ ΠΏΠ°ΠΏΠΊΡƒ `mods/` вашого ΠΏΡ€ΠΎΡ„Ρ–Π»ΡŽ Minecraft.
6. Π—Π°ΠΏΡƒΡΡ‚Ρ–Ρ‚ΡŒ Π³Ρ€Ρƒ Π· Forge.

## Π¨Π²ΠΈΠ΄ΠΊΠΈΠΉ старт

1. Π‘Ρ‚Π²ΠΎΡ€Ρ–Ρ‚ΡŒ світ.
2. Π£Π²Ρ–ΠΌΠΊΠ½Ρ–Ρ‚ΡŒ глобальнС ΠΊΠΎΠ³Π½Ρ–Ρ‚ΠΈΠ²Π½Π΅ ΠΏΡ–Π΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ: `/gamerule globalCognition true` (Π°Π±ΠΎ ΠΏΡ€ΠΈΠΊΡ€Ρ–ΠΏΡ–Ρ‚ΡŒ AGI Π²Ρ€ΡƒΡ‡Π½Ρƒ: Π΄ΠΈΠ²Ρ–Ρ‚ΡŒΡΡ Π½Π° ΠΌΠΎΠ±Π° Ρ– Π²ΠΈΠΊΠΎΠ½Π°ΠΉΡ‚Π΅ `/simpleagi attach`).
3. Всі ΠΌΠΎΠ±ΠΈ Π²Ρ–Π΄Ρ‚Π΅ ΠΌΠ°ΡŽΡ‚ΡŒ власний ΠΌΠΎΠ·ΠΎΠΊ, Π΅ΠΌΠΎΡ†Ρ–Ρ—, ΠΏΠ°ΠΌ'ΡΡ‚ΡŒ Ρ– Π½Π°Π²Ρ–Ρ‚ΡŒ ΠΌΠΎΠ²Ρƒ!
4. ВикористайтС `/simpleagi agents` Ρ‰ΠΎΠ± відстСТувати ΠΊΡ–Π»ΡŒΠΊΡ–ΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈΡ… Π°Π³Π΅Π½Ρ‚Ρ–Π².
5. Для Π±ΡƒΠ΄Ρ–Π²Π½ΠΈΡ†Ρ‚Π²Π°: `/simpleagi build shelter`.

---

## ЛіцСнзія

Всі ΠΏΡ€Π°Π²Π° Π·Π°Ρ…ΠΈΡ‰Π΅Π½ΠΎ, Π°Π²Ρ‚ΠΎΡ€: bruhasub

---

> **ΠŸΡ€ΠΈΠΌΡ–Ρ‚ΠΊΠ°:** Для ΠΏΠΎΠ²Π½ΠΎΡ— Π°Ρ€Ρ…Ρ–Ρ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΡ— Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†Ρ–Ρ— Π΄ΠΈΠ². [ARCHITECTURE.md](ARCHITECTURE.md) (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ” ASCII-схСми, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ– Π²ΠΏΠ»ΠΈΠ²Ρ–Π², Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ– схСми Π·Π²'язків ΠΌΡ–ΠΆ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚Π° ΠΏΠΎΠ²Π½ΠΈΠΉ опис ΠΊΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ³Π½Ρ–Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΡˆΠ°Ρ€Ρƒ).

The Simple AGI Team

profile avatar
  • 2
    Projects
  • 321
    Downloads

More from Rayman_GC

  • Wave Defense project image

    Wave Defense

    • 191
    • Mods

    A versatile PvE and PvP engine featuring wave defense, customizable shops, and three competitive game modes for Minecraft

    • 191
    • May 18, 2026
    • Mods
    • +1
  • Wave Defense project image

    Wave Defense

    • 191
    • Mods

    A versatile PvE and PvP engine featuring wave defense, customizable shops, and three competitive game modes for Minecraft

    • 191
    • May 18, 2026
    • Mods
    • +1