THIS IS A FAN MADE PORT OF VM COMPUTERS BY Delta2Force
Transfers VM Computers to modern Minecraft version (1.20.1)
Original Mod
Check out the original VM Computers mod by Delta2Force:
https://www.curseforge.com/minecraft/mc-mods/vm-computers
Thanks to KuanogenMod for testing some of the versions!
If you have problems with this port, please submit them to my GitHub.

Join the vmcomputers Discord Server!
Donate to the original creator (Delta2Force)
Note: Only accepts Bitcoin and BitcoinCash
BTC: 3GubEkHV69gCkjWhRgRWYqWqyjcWW3gxFFBCH:
bitcoincash:qq6jttzlvgj68lvecnh75pt3znezj4vx6sysfvj3j5
Dependencies
- Minecraft 1.20.1
- VirtualBox 6.1
How to use
Ordering
- Craft an ordering tablet (as seen below)

- Wait until it detects a satellite (they appear quite often)

- The rest is (hopefully) self-explanatory
Creating a Hard Drive / Importing an ISO disk image
Virtual Hard Drives are created by pressing the use button (right-click) while holding an hard drive in your hand. It doesn't matter if it has been assigned to a disk image or not as it will always open the menu. You can either use an existing hard drive (located in .minecraft/vm_computers/vhds) or create a new one.
ISO images are CDs / DVDs but as files. They are stored at .minecraft/vm_computers/isos. Once you place them in the folder, you can select them in the PC case menu.
Building the computer
You will need the following items (which can be bought from the Ordering Tablet):
- PC Case,
- Motherboard,
- RAM,
- GPU, and
- Monitor
To insert a hard drive, you will need to create one by right-clicking with a hard drive in your hand.
It doesn't matter if it is already assigned to a disk image or not.
- Place down the case

- Press the use button (right-click) on the case

- (Optional) Select an ISO image from the list
- Open the case

Note: The buttons will be disabled if you do not have the item in your inventory. - The rest (hopefully) is self-explanatory
Using the computer
To turn on the computer, press the Power On button in the PC case menu. To interact with the computer, press the use button (right-click) on the monitor.
Note: Pressing Alt+F4 will close the game, not the window you are on in the virtual machine.
To stop interacting with the computer, press the keys mentioned in the top-right corner of the screen when interacting with the monitor.
Contributing
If you'd like to contribute to this project, please fork the master branch, make your changes and create a pull request to have the changes reviewed. If you plan to contribute larger changes, please create a issue to discuss the major changes that you were planning to make.
I don't like rules, but to keep consistency and readability of the code please follow these guidelines:
- Use lambda expressions when appropriate
- You'll find that it is faster to write
() -> {}, just saying :) - Try to follow the code style of the project
- Makes everyone's life so much easier when it comes to making changes and understanding the code
- Commit messages should describe the change well without being too short
- Where it says 'Update [insert file name here]' should be replaced with a short overview of what was changed. Use the optional extended description to explain the specific changes that were made.
- When making a pull request, make sure that you have made all of the changes you have wanted to before posting the pull request.
- It gets messy when you create a pull request and continue to make changes after the fact.
How to Install *NEW* VM computers (Mod)
*NEW* VM computers by Unknown is verified for Fabric, Forge, Neoforge across Minecraft versions 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21.1 (latest release: (VMWARE_HOTFIX)1.4.15-1.21.1-uni, file size: 6.1 MB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21.1) and platform (Fabric, Forge, Neoforge).
- Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge.
- Move the downloaded *NEW* VM computers file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version- Fixed vmware autodetect being not accurate
- Fixed vmware autodetect being not accurate
## changes
- VMware backend instead of VirtualBox
- New 3-layered video pipeline for enhanced performance
## changes
- VMware backend instead of VirtualBox
- New 3-layered video pipeline for enhanced performance
# IF YOU ARE HAVING AN ISSUE LIKE PC NOT STARTING|SHUTTING DOWN, PLEASE TRY TO CLOSE MINECRAFT AND REBOOT YOUR SYSTEM BEFORE REPORTING THE ISSUE
## PORTED TO 1.21.1 NEOFORGE
# IF YOU ARE HAVING AN ISSUE LIKE PC NOT STARTING|SHUTTING DOWN, PLEASE TRY TO CLOSE MINECRAFT AND REBOOT YOUR SYSTEM BEFORE REPORTING THE ISSUE
## PORTED THE LATEST MOD VERSION THAT SUPPORTS LATEST VBOX TO FABRIC 1.21.1
##### that's all
1. Mouse not working inside of vm - fixed
2. Keyboard keys spamming/not responding - fixed (still weird behaviour in windows 98 setup)
3. Crashing on pcs without 3d acceleration support - fixed
## SMALL CHANGES
1. Changed support message so people wouldn't text the original mod creator (sorry i forgot about that in previous versions)
Fixed VirtualBox VM startup crash related to 3D acceleration
Details: Previously, the mod forcefully enabled GraphicsFeature_Acceleration3D during VM startup. If the host machine's hardware, graphics drivers, or the installed version of VirtualBox (e.g. 7.0+) did not support 3D acceleration with the current configuration, it would result in a VBOX_E_NOT_SUPPORTED error and cause the game to crash or the VM to fail to boot entirely.
Solution: Moved the --accelerate3d on argument to a silent modification command. Now, the mod will attempt to enable 3D acceleration, but will safely fallback and start the VM in software rendering mode if the host system does not support it, preventing crashes for users with incompatible setups or newer VirtualBox versions.
## [1.4.16-1.20.1-fabric] - 2026-05-09
### Security & Critical Bug Fixes
- Fixed UUID mismatch in multiplayer screen texture cleanup** (
ClientMod.java) S2C_STOP_SCREENandS2C_SCREENwere usingmcc.player.getUuid()forremove()instead ofpcOwner.- This caused screen textures from other players to **never be destroyed**, leading to a severe **memory leak** (
NativeImage,NativeImageBackedTexture,Identifier). - Also fixed a **double-close bug** where
vmScreenTextureNI.close()was called instead ofvmScreenTextureNIBT.close()inS2C_SCREEN.
- Fixed component loss when placing last PC case from stack** (
ItemPCCase.java,ItemPCCaseSidepanel.java) decrement(1)was called **before** reading NBT data. Whencount == 1, the stack becameEMPTYandgetNbt()returnednull, causing **permanent loss** of all PC components (motherboard, CPU, RAM, HDD, ISO).- Now NBT is saved to a local variable **before** decrementing.
- Fixed server crash on missing inventory item** (
MainMod.java) removeStck()threwRuntimeExceptionwhen an item was not found, crashing the **entire server**.- Replaced with logging via
LOGGER.error()and graceful return. - Also hardened against desync between
contains()check andremoveStck()execution.
- Fixed ClassCastException exploit in C2S_ORDER** (
MainMod.java) - No validation that
readItemStack().getItem()is actually anOrderableItem. A malicious client could send any item, causing a server crash. - Added
instanceof OrderableItemcheck with logging of invalid packets. - Same fix applied to
S2C_SYNC_ORDERhandler inClientMod.java.
- Fixed IllegalArgumentException in C2S_ADD_CPU / C2S_ADD_RAM** (
MainMod.java) - When
dividedByormbvalues did not match expected constants,lookingForremainednull, causingnew ItemStack(null)→ server crash. - Added
lookingFor != nullguard before creatingItemStack.
- Fixed HDD removal ignoring NBT** (
MainMod.java) removeStck()matched only byItemtype, not NBT. If a player had multiple HDDs with different VHD files, the **wrong disk** could be removed.- Enhanced
removeStck()to prefer **exact NBT match** before falling back to type-only match.
- Fixed VM always created with only 1 CPU** (
GuiPCEditing.java) Math.min(1, ...)in the "create new VM" branch always returned1, regardless of host CPU count or player settings. The "modify existing" branch already used correctMath.max(1, ...).- Fixed to
Math.max(1, ...)— VM now gets the correct number of CPUs.
- Fixed ConcurrentModificationException in ServerMixin** (
ServerMixin.java) MainMod.orders.remove()was called duringfor-eachiteration overHashMap.values(), guaranteeing a crash every time an order completed.- Implemented deferred removal: collect keys to remove in a list, then delete after the loop.
- Fixed NPE when sending packets to disconnected play
## [1.4.15-1.20.1-fabric] - 2026-04-08
### Added
- Ported the mod to Minecraft **1.20.1**.
- Full support for **Fabric Loader**.
- Updated to **Java 17**.
### Changed
- Updated all dependencies to be compatible with 1.20.1 (Fabric API, Yarn mappings).
- Refactored rendering logic to comply with modern Minecraft rendering standards.
- Updated entity interaction logic to ensure compatibility with 1.20.1.
- Integrated ShadowJar for better dependency management and to resolve class loading issues (e.g.,
CatalogManager).
### Fixed
- Fixed GUI rendering issues that were present during the porting process.
- Fixed an issue where the PC editing menu would not open when interacting with components.
- Resolved various runtime compatibility errors related to Java 17 and relocated libraries.
## Development Plans (Branches)
Three main development branches have been defined for the project:
1. **Deprecated**:
- Contains already released versions and versions that have become obsolete for any reason (critical bugs, etc.). Github current branches will/are marked as deprecated, please don't use them.
- Port of the original mod and its refinement as intended by the original author.
- Versions: **1.x.x**.
- Personal ideas, custom components, new devices, and expanded functionality.
- Versions: **2.x.x**.
This is a beta port of VM Computers for Forge 1.20.1.
### Working
- Initial setup and saved setup flow
- VirtualBox support
- VMware Workstation support
- VM screen rendering
- Keyboard and mouse input
- Config save/load via
setup.json
### Fixed in this beta
- VirtualBox JAXB/JAX-WS crash on Forge
vboxwebsrvstartup issues- setup flow resetting incorrectly
- missing config/path creation
- Connector/cache conflicts with old builds
- blank VM screen while VM was running
- VirtualBox session lock issues
- VMware startup with old
.vdidisks - missing keyboard input in VMware
- missing VMware setup text
### Known limitations
- VMware is still experimental
- VMware may create a separate
-vmware.vmdkfrom an existing.vdi - VirtualBox and VMware disks may not stay in sync in that case
- Tested mainly on Windows 11, Prism Launcher, and Forge 1.20.1
### Recommended
- Use VirtualBox for the most stable experience
- Use VMware as a beta/experimental backend for now
### Bug reports
Please include:
- latest log
- whether you used VirtualBox or VMware
- whether the disk was
.vdior.vmdk - whether it happened on first setup or a later restart