Mod

NotEnoughMinecraft

Quick rating

NotEnoughMinecraft

No reviews yet

Did you ever want to play Minecraft inside of Minecraft without installing any mods on the client? NO??? Anyways, now you can!

Minigame
Mod Loaders
Fabric
Quilt
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
MIT License
Latest Version
1.3.1+1.21.10
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

About

Description

NotEnoughMinecraft

Did you ever want to play Minecraft inside of Minecraft without installing any mods on the client? NO??? Anyways, now you can!

Setup

  1. Install fabric-api and polymer.
  2. This mod requires a server resource pack. The easiest way to host this is by enabling polymers autohost
  3. Give yourself a computer /give @s not-enough-minecraft:computer and place it down.
  4. Right-click on a computer to start playing

Controls

  • The input for movement, jumping and sprinting is the same as your default inputs
  • Breaking, placing, dropping and picking blocks also use your default inputs
  • Use the scroll wheel or number keys to navigate the hotbar
  • You can right-click (to start) using an item. You can right-click again to finish using the item.
  • You can sneak to stop playing and exit the computer
  • You can press your inventory key to toggle a fps counter

Because this is a serverside-only mod, it is limited to inputs the client sends to it!

How it works

When playing, a fake player is created and added to the server. Each tick an image is rendered using a server-side raycasting renderer from tomalbrc. The rendered image is then displayed to the client using a custom screen item, where each pixel can be colored using custom model data colors.

Config

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

{
  // Render distance in blocks
  "renderDistance": 64,
  // Flag for experimental entity rendering
  "renderEntities": false,
  // Amount of entities to render when entity rendering is enabled
  "renderEntitiesAmount": 20,
  // Flag wether light levels should be ignored, rendering everything with the highest light level. 
  "fullbright": false,
  // Field of View, functions the same way the vanilla client FOV works, minimum value is 30, maximum 110 (Quake Pro).
  "fov": 70,
  // Biome blend value
  "biomeBlend": 1,
  // How many threads should be render all instances. This can be used to increase or reduce the amount of CPU usage on 
  // the server and has a direct impact on FPS count
  "renderThreadCount": 4,
  // A list of commands that get executed when a fake player entity is spawned
  // This can for example be used to give custom 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"
  ],
  // Should fake player be allowed to place blocks
  "allowPlacing": true,
  // Should fake player be allowed to break blocks
  "allowBreaking": true,
  // Should fake player be allowed to use items
  "allowItemUsage": true,
  // Should fake player be allowed to drop items
  "allowDropping": false,
  // Should fake player be allowed to pick items from block
  "allowPicking": true
}

Licenses

This mod uses the rendering code from https://github.com/tomalbrc/camera-obscura. All code in the de.tomalbrc.cameraobscura package is licensed under LGPL-3.0-only. The idea of using a custom screen item to display the rendered image is taken from https://github.com/tomalbrc/BlockBoy-Arcade, which is licensed under MIT

Limitations

This is a quite cursed/hacky weekend project.

Rendering on the server like this is quite inefficient and will increase CPU usage significantly, which can cause issues on lower end setups.

We don't have any way to compress or optimize the screen data for sending it over the network, so we have to send the raw pixels each frame. This can lead to an increased network load when viewing computer screens. You can expect 300-400 KiB/s increase per screen with default minecraft network compression.

Fake players will behave like regular players in almost all aspects, such as world interactions, commands, player list, player data and more. Each player gets their own unique fake player companion, which has the same UUID, but with the lowest bit increase by one.

Screenshots

Gallery

  • Playing Minecraft in a cozy little house...
    Playing Minecraft in a cozy little house... ...while looking at a cozy looking house???
  • INFINITE MINECRAFT
    INFINITE MINECRAFT
  • Watching another person play
    Watching another person play
  • First prototype
    First prototype

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~6,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched and imported data for this project from CurseForge or Modrinth. High-traffic and active projects are checked more often.
Next pipeline sync