v2.1.9: Crafting overhaul, smart inventory, HQ tree textures, updated README
This commit is contained in:
parent
910e2d6a6e
commit
1a1cf3cc5f
Binary file not shown.
102
README.md
102
README.md
|
|
@ -11,7 +11,7 @@
|
|||
### ⚔️ Combat & Survival
|
||||
- **PvP Combat**: Real-time melee combat with synchronized hit registration, knockback, and audio feedback.
|
||||
- **Health System**: 8-heart health system with a visual HUD and damage mechanics.
|
||||
- **Survival Mechanics**: Falling damage and block-breaking progress.
|
||||
- **Survival Mechanics**: Block-breaking progress and material-specific dig times.
|
||||
|
||||
### 👥 Multiplayer & LAN
|
||||
- **P2P Architecture**: Cross-platform networking stack using standard sockets (Windows/Linux).
|
||||
|
|
@ -20,14 +20,21 @@
|
|||
- **Global Chat**: Press `Enter` to communicate with other players in real-time.
|
||||
|
||||
### 🔨 Crafting & Inventory
|
||||
- **Dual Crafting Modes**: Supports both 2x2 player crafting and 3x3 Workbench crafting.
|
||||
- **Inventory Insight**: Hover over any item to see its name and properties with dynamic tooltips.
|
||||
- **Authentic Visuals**: Specialized rendering for complex blocks like logs (bark/rings) and crafting tables.
|
||||
- **20+ Recipes**: Full crafting tree from logs to tools — wooden & stone tier tools, furnace, chest, doors, fences, ladders, and more.
|
||||
- **Dual Crafting Modes**: 2×2 player inventory grid and 3×3 Workbench with pattern matching.
|
||||
- **Smart Stacking**: Left-click merges same-type stacks, right-click picks up or places one item at a time.
|
||||
- **Inventory Tooltips**: Hover over any item to see its name.
|
||||
|
||||
### ⚙️ Performance & Tech
|
||||
- **Optimized Voxel Engine**: Texture batching and neighbor-chunk caching for stable 60+ FPS.
|
||||
- **Dynamic World Gen**: Multi-octave Perlin noise (FBM) with forest, desert, and stone biomes.
|
||||
- **Cross-Platform Portability**: Standalone binaries for Windows and Linux with zero external DLL dependencies.
|
||||
### 🌲 World & Visuals
|
||||
- **Multi-Texture Blocks**: Oak logs render with bark sides and ringed tops/bottoms. Grass has separate top/side/bottom faces.
|
||||
- **High-Detail Foliage**: Custom leaf textures with natural green tinting.
|
||||
- **Dynamic Lighting**: Full day/night cycle with atmospheric color shifts.
|
||||
- **Optimized Rendering**: Texture batching, neighbor-chunk caching, and frustum culling for 60+ FPS.
|
||||
|
||||
### ⚙️ Technical
|
||||
- **Dynamic World Gen**: Multi-octave Perlin noise (FBM) with forests, sand beaches, and ore veins.
|
||||
- **Cross-Platform**: Standalone binaries for Windows and Linux with zero external DLL dependencies.
|
||||
- **Auto-Update System**: Built-in version checking and download support.
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -35,7 +42,7 @@
|
|||
|
||||
### Prerequisites
|
||||
- **Linux**: `libpulse-dev`, `glfw` development headers.
|
||||
- **Windows**: MinGW-w64 (for cross-compilation).
|
||||
- **Windows**: Download the pre-built zip from Releases, or cross-compile with MinGW-w64.
|
||||
|
||||
### Build Instructions
|
||||
|
||||
|
|
@ -53,39 +60,78 @@ mkdir build-windows && cd build-windows
|
|||
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain-windows.cmake ..
|
||||
make -j$(nproc)
|
||||
```
|
||||
A pre-built `MorriCraft-Windows.zip` is available in the repository root.
|
||||
|
||||
---
|
||||
|
||||
## 🎮 Controls
|
||||
- **WASD**: Movement
|
||||
- **Space**: Jump
|
||||
- **Mouse**: Look / Aim
|
||||
- **Left Click**: Attack / Destroy Block
|
||||
- **Right Click**: Place Block / Use Workbench
|
||||
- **E**: Open Inventory
|
||||
- **Enter**: Open Chat
|
||||
- **1-9**: Hotbar Selection
|
||||
- **ESC**: Pause / Menu
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| **WASD** | Movement |
|
||||
| **Space** | Jump |
|
||||
| **Mouse** | Look / Aim |
|
||||
| **Left Click** | Attack / Destroy Block |
|
||||
| **Right Click** | Place Block / Use Workbench |
|
||||
| **E** | Open Inventory |
|
||||
| **Enter** | Open Chat |
|
||||
| **1-9** | Hotbar Selection |
|
||||
| **ESC** | Pause / Menu |
|
||||
|
||||
---
|
||||
|
||||
## 📜 Crafting Recipes
|
||||
|
||||
### 2×2 Player Grid
|
||||
| Input | Output |
|
||||
|-------|--------|
|
||||
| 1 Log | 4 Planks |
|
||||
| 4 Planks (2×2) | 1 Crafting Table |
|
||||
| 2 Planks (vertical) | 4 Sticks |
|
||||
|
||||
### 3×3 Crafting Table
|
||||
| Recipe | Output | Recipe | Output |
|
||||
|--------|--------|--------|--------|
|
||||
| PPP / .S. / .S. | Wooden Pickaxe | CCC / .S. / .S. | Stone Pickaxe |
|
||||
| PP. / PS. / .S. | Wooden Axe | CC. / CS. / .S. | Stone Axe |
|
||||
| .P. / .P. / .S. | Wooden Sword | .C. / .C. / .S. | Stone Sword |
|
||||
| .P. / .S. / .S. | Wooden Shovel | .C. / .S. / .S. | Stone Shovel |
|
||||
| PP. / .S. / .S. | Wooden Hoe | CC. / .S. / .S. | Stone Hoe |
|
||||
| CCC / C.C / CCC | Furnace | PPP / P.P / PPP | Chest |
|
||||
| PP. / PP. / PP. | Door ×3 | PSP / PSP | Fence ×3 |
|
||||
| S.S / SSS / S.S | Ladder ×3 | ... / ... / CCC | Stone Slab ×6 |
|
||||
|
||||
*P = Plank, S = Stick, C = Cobblestone. Mirrored variants supported.*
|
||||
|
||||
---
|
||||
|
||||
## 📜 Version History
|
||||
|
||||
### v2.1.8 - Forest Fidelity (Latest)
|
||||
- **High-Detail Leaves**: Integrated a new high-definition leaves texture with improved alpha transparency.
|
||||
- **Tree Log Fix**: Corrected the rendering pipeline to ensure trees use the multi-texture Oak Log mapping.
|
||||
### v2.1.9 - Crafting Overhaul (Latest)
|
||||
- **20+ Recipes**: Added Log→Planks and full wooden/stone tool tier crafting.
|
||||
- **Smart Inventory**: Left-click stacks same items, right-click picks up or places one.
|
||||
- **Future Item IDs**: Added furnace, chest, ladder, fence, torch, door, and stone slab types.
|
||||
|
||||
### v2.1.8 - Forest Fidelity
|
||||
- **HQ Leaves**: New high-definition leaf texture with proper green tinting.
|
||||
- **Tree Fix**: Corrected log rendering to use multi-texture bark/ring mapping.
|
||||
|
||||
### v2.1.7 - Log Realism
|
||||
- **Item Tooltips**: Added mouse-over identification for all inventory items.
|
||||
- **UI Polish**: Dynamic tooltip positioning and screen-edge detection.
|
||||
- **Oak Log Textures**: Dedicated bark (side) and ring (top) textures for logs.
|
||||
|
||||
### v2.1.6 - Inventory Insight
|
||||
- **Item Tooltips**: Mouse-over identification for all inventory items.
|
||||
|
||||
### v2.1.2 - Combat & Health
|
||||
- **PvP Melee**: Added ray-traced hit detection and synchronized knockback.
|
||||
- **Heart HUD**: Implemented an 8-heart health system.
|
||||
- **PvP Melee**: Ray-traced hit detection with knockback and audio feedback.
|
||||
- **Heart HUD**: 8-heart health system.
|
||||
|
||||
### v2.1.0 - Personalization Update
|
||||
- **Skin Editor**: Integrated shirt and pants color customization.
|
||||
- **Humanoid Models**: Transitioned from placeholder "blobs" to multi-cube player avatars.
|
||||
### v2.1.0 - Personalization
|
||||
- **Skin Editor**: Shirt and pants color customization, synced across network.
|
||||
- **Humanoid Models**: Multi-cube player avatars replacing placeholder blobs.
|
||||
|
||||
### v2.0.0 - Multiplayer
|
||||
- **P2P Networking**: Cross-platform sockets with direct connect and LAN hosting.
|
||||
- **Chat System**: Real-time text communication between players.
|
||||
|
||||
---
|
||||
*Developed by the MorriCraft Team. Built with Raylib 5.0.*
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -843,7 +843,7 @@ int main(void)
|
|||
// By default, windows have minimize, maximize, and close buttons on the top bar.
|
||||
SetConfigFlags(FLAG_WINDOW_RESIZABLE | FLAG_VSYNC_HINT);
|
||||
|
||||
InitWindow(screenWidth, screenHeight, "MorriCraft v2.1.8");
|
||||
InitWindow(screenWidth, screenHeight, "MorriCraft v2.1.9");
|
||||
LoadConfig();
|
||||
SetExitKey(KEY_NULL); // Prevent ESC from closing the window
|
||||
|
||||
|
|
@ -2149,8 +2149,8 @@ int main(void)
|
|||
DrawTexturePro(titleTexture, sourceRec, destRec, origin, 0.0f, WHITE);
|
||||
EndMode2D();
|
||||
|
||||
// Show Version Number (v2.1.8) in Red
|
||||
DrawTextEx(customFont, "v2.1.8", (Vector2){ (float)currentWidth - 140, (float)currentHeight - 40 }, 22, 1.0f, RED);
|
||||
// Show Version Number (v2.1.9) in Red
|
||||
DrawTextEx(customFont, "v2.1.9", (Vector2){ (float)currentWidth - 140, (float)currentHeight - 40 }, 22, 1.0f, RED);
|
||||
|
||||
// --- PLAYER NAME POPUP (IF MISSING) ---
|
||||
if (playerName == "") {
|
||||
|
|
|
|||
Loading…
Reference in New Issue