返回排行榜

EVV1E/waylandcraft

Java

Wayland Compositor in Minecraft

minecraftwaylandwayland-compositor
Star 增长趋势
Star
2.6k
Forks
51
周增长
Issues
38
2.4k2.5k
26年5月26年5月26年6月26年7月
制品库Mavengit clone https://github.com/EVV1E/waylandcraft.git
README

waylandcraft banner

Wayland Compositor in Minecraft

Demo video

Now available on Modrinth!

System dependencies

  • OS: Linux
  • Minecraft 26.1.2
  • Fabric mod loader
  • xkbcommon library 1.11.0
  • xkbcommon tools (xkbcli)
  • xwayland-satellite (for Xwayland support)

Additionally recommended:

  • Prism Launcher
  • Sodium

Important notes for installing / using!!!

  1. Do not use a Minecraft launcher packaged as a flatpak! You won't be able to use your apps.
  2. For nvidia: Set the __GL_THREADED_OPTIMIZATIONS environment variable to 0 in your launcher.
  3. The Zink OpenGL driver has been known to cause issues. Use native OpenGL instead.

Frequently Asked Questions

How do I use this thing?

Download the mod from the releases section, install Minecraft Fabric for 26.1.2 and drag the jar file in your mods folder. Look at your keybind settings. By default V opens the app launcher, G enables keyboard capture allowing you to type in the windows, B opens the window manager screen.

How can I press Escape in the windows?

Instead of using G to capture the keyboard, use ALT+Q instead. The only way to turn it off is to press ALT-Q again, so the ESC key is forwarded to the application.

How do I run X11 apps?

Since v2.0.0 waylandcraft has integrated support for xwayland-satellite. If you have the binary installed on your system, it should automatically be started.

How to do the relative mouse movement thing for 3D games?

Move your mouse over the window, then activate the hard keyboard capture mode. (ALT-Q) Exiting the hard keyboard capture mode releases the mouse.

Will there be multiplayer support?

Multiplayer support would require video streaming, a bunch of networking code and a rewrite of input handling, so it's not really planned right now.

But can I use it on a server though?

You can, but because it's a client-side mod, other players won't see your windows or be able to interact with them. Servers can opt to install the mod, which will allow players to use the window items for themselves. If the server doesn't support it, you can spawn a window in the world by going into the wm screen (default bind B) and then pressing and holding the "Grab" button.

Does this work in VR?

Depending on your VR mod, you can probably get the windows to display fine but you probably won't be able to interact with the windows using your controller. Soooo, kinda.

Does this work with shaders?

Since v2.0.2 Iris shaders are supported.

There are a couple of downsides though: The windows might have large borders and text in windows will be harder to read from a distance (because window anti-aliasing doesn't work)

This is because for the shader support windows are rendered with the same pipeline as entities because otherwise the shaders would ignore them.

For some shaders you might need to disable features like Temporal Anti Aliasing (TAA).

Building and Running

You need a Rust development environment and a Java 25 SDK.

./build.sh #all arguments are passed to cargo build

The final jar file will be in build/libs, or run ./gradlew runClient for a development environment

Images

screenshot

Disclaimer

This compositor still has lots of issues and bugs. Use it at your own risk or whatever.

Contribution Policy

All contributions have to be made an accordance with the GPLv3 license (see LICENSE). Waylandcraft has some important policy around LLMs and generative AI, mostly because of code and contribution quality as well as some ethical and copyright concerns. Mergeable contributions made to the repository in the form of pull requests need to be made without major usage of LLMs.

If you feel as though you have something worthwhile to contribute which was made using LLMs please disclose it and file it as a draft pull request instead. It will probably have to be more closely examined or even entirely rewritten by a human programmer, which can then be (re-)submitted as a normal pull request.

相关仓库
louis-e/arnis

Generate any location from the real world in Minecraft with a high level of detail.

Rustcrates.ioApache License 2.0minecraftopenstreetmap
arnismc.com
17.1k1.4k
PaperMC/Paper

The most widely used, high performance Minecraft server that aims to fix gameplay and mechanics inconsistencies

JavaMavenOtherminecraftbukkit
papermc.io/software/paper
12.5k3.5k
IdreesInc/Monocraft

A monospaced programming font inspired by the Minecraft typeface

PythonPyPISIL Open Font License 1.1fontligatures
discord.gg/6yxE9prcNc
11.1k158
fogleman/Craft

A simple Minecraft clone written in C using modern OpenGL (shaders).

CMIT Licensecopengl
michaelfogleman.com/craft/
11.1k1.4k
PrismLauncher/PrismLauncher

A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC)

C++GNU General Public License v3.0cppfabricmc
prismlauncher.org
9.9k1.5k
HMCL-dev/HMCL

A Minecraft Launcher which is multi-functional, cross-platform and popular

JavaMavenGNU General Public License v3.0javafxminecraft-launcher
hmcl.huangyuhui.net
9.7k909
PojavLauncherTeam/PojavLauncher

A Minecraft: Java Edition Launcher for Android and iOS based on Boardwalk. Succeeded by https://github.com/AngelAuraMC/Amethyst-Android

JavaMavenGNU Lesser General Public License v3.0minecraft-launcherminecraft
9.2k2.2k
cabaletta/baritone

google maps for block game

JavaMavenGNU Lesser General Public License v3.0minecraftforgegradle
9k2k
dnschneid/crouton

Chromium OS Universal Chroot Environment (EOL)

ShellBSD 3-Clause "New" or "Revised" Licensechrootshell
git.io/JZEs0
8.6k1.3k
Pumpkin-MC/Pumpkin

Empowering everyone to host fast and efficient Minecraft servers.

Rustcrates.ioGNU General Public License v3.0minecraftminecraft-server
pumpkinmc.org
8.1k573
MinecraftForge/MinecraftForge

Modifications to the Minecraft base files to assist in compatibility between mods. New Discord: https://discord.minecraftforge.net/

JavaMavenOtherjavaforge
files.minecraftforge.net
7.7k2.8k
PrismarineJS/mineflayer

Create Minecraft bots with a powerful, stable, and high level JavaScript API.

JavaScriptnpmMIT Licensebotnodejs
prismarinejs.github.io/mineflayer/
7.2k1.4k