Download NotEnoughMinecraft — Minecraft Mods — MetaMods
NotEnoughMinecraft

NotEnoughMinecraft

Active

Downloads

0

Last update

1 month ago

Versions

1.21.8
Server
Fabric
Quilt
Mini-games
Social

NotEnoughMinecraft

Have you ever wanted to play Minecraft inside Minecraft itself without needing to install any mods on the client? NO??? Anyway, now it's possible!

Setup

To get started, you need to install fabric-api and polymer. The mod requires a server resource pack, which is easiest to set up using polymer's auto-hosting feature.

Get a computer with the command /give @s not-enough-minecraft:computer, place it in the world, and right-click to start playing.

Controls

The control system fully matches standard Minecraft settings:

  • Movement, jumping, and sprinting use familiar keys
  • Block breaking, placement, item dropping work as usual
  • Mouse wheel or number keys switch hotbar slots
  • Right-click activates item use, another click completes the action
  • Sneak - exit game mode and close the computer
  • Inventory key toggles FPS counter

Since this is a server-only mod, control capabilities are limited to the data the client sends to the server!

How It Works

When starting the game, a virtual player is created and added to the server. Each tick, an image is generated using a server-side raycasting renderer from tomalbrc. The resulting image is displayed to the client through a special screen item where each pixel is colored using custom model data colors.

Configuration

The configuration file is located at config/not-enough-minecraft.json.

{
  // Render distance in blocks
  "renderDistance": 64,
  // Experimental entity rendering
  "renderEntities": false,
  // Number of entities to render when enabled
  "renderEntitiesAmount": 20,
  // Ignore light levels, rendering everything at maximum brightness
  "fullbright": false,
  // Field of view, works similarly to vanilla client settings, minimum 30, maximum 110 (Quake Pro)
  "fov": 70,
  // Biome blending
  "biomeBlend": 1,
  // Number of threads for rendering all instances. Affects server CPU load and directly impacts FPS
  "renderThreadCount": 4,
  // List of commands executed when creating a virtual player
  // Can be used to give items or move to specific locations
  "spawnCommands": [
    "item replace entity @s hotbar.0 with minecraft:grass_block",
    "item replace entity @s hotbar.1 with minecraft:dirt",
    "item replace entity @s hotbar.2 with minecraft:stone",
    "item replace entity @s hotbar.3 with minecraft:cobblestone",
    "item replace entity @s hotbar.4 with minecraft:oak_planks",
    "item replace entity @s hotbar.5 with minecraft:oak_log",
    "item replace entity @s hotbar.6 with minecraft:glass",
    "item replace entity @s hotbar.7 with minecraft:oak_door",
    "item replace entity @s hotbar.8 with minecraft:oak_stairs"
  ],
  // Allow virtual player to place blocks
  "allowPlacing": true,
  // Allow virtual player to break blocks
  "allowBreaking": true,
  // Allow virtual player to use items
  "allowItemUsage": true,
  // Allow virtual player to drop items
  "allowDropping": false,
  // Allow virtual player to pick up items from blocks
  "allowPicking": true
}

Limitations

This is quite an unconventional experimental project.

Server-side rendering requires significant CPU resources and may cause issues on weaker systems.

There is no ability to compress or optimize screen data for network transmission, so each frame is sent as raw pixels. This increases network load when viewing computer screens. Expect a traffic increase of 300-400 KB/s per screen with standard Minecraft network compression.

Virtual players behave like regular players in almost all aspects: world interaction, commands, player list, player data, and other functions. Each player gets their own virtual companion with the same UUID but with the lowest bit increased by one.

Project members
DrexHD

DrexHD

Developer

Created: 18 Aug 2025

ID: 261902