diff --git a/README.md b/README.md new file mode 100644 index 0000000..27c2696 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# BreakMe +[![pipeline status](https://gitlab.com/JFronny/BreakMe/badges/master/pipeline.svg)](https://gitlab.com/JFronny/BreakMe/-/commits/master) +BreakMe crashes Minecraft in creative ways. It uses Fabric (although porting should be trivial, most of the code is standard java & some JNI) + +# Installing +I recommend you to use the automatically built packages, you can download the latest one [here](https://gitlab.com/JFronny/BreakMe/-/jobs/artifacts/master/browse/build/libs/?job=deploy) + +# Configuration +You can use [Mod Menu](https://www.curseforge.com/minecraft/mc-mods/modmenu) to change the configuration. +The values are explained in more detail below + +- Cause: + - Damage: The crash-event is fired once you take damage + - Death: The crash-event is fired once you die + - All: The crash-event is fired if any of the above apply (currently equal to Damage) + - None: The crash-event is never fired + +- Method: + - Unsafe_Universal_Forkbomb: Launch a self-multiplying process + - Unsafe_Windows_WinAPI: Do some JNI-magic to instantly produce a blue-screen on windows + - Broken_Universal_ExitCode: (in singleplayer) exit the integrated server. The game still displays but you can no longer interact with the world or quit + - Safe_Universal_Exception: Throw a simple exception. Behaves like every other crash and just closes the game, leaving a crash log + - SemiUnsafe_Universal_Exception: Throws a security exceptions. This should prevent the exception from being caught and should leave no crash log + - SemiUnsafe_Universal_Shutdown: Attempts to run a shutdown command. Since these are specific to some systems this might not always work + - None: Do nothing + + +# Building +BreakMe consists of two parts: The main mod and the DLL used for Unsafe_Windows_WinAPI, which are built separately +A prebuilt DLL for part 2 is shipped with the source so this can be built on linux. +If you want to build your own, run [this](https://gitlab.com/JFronny/BreakMe/-/blob/master/src/main/c/build.bat) in a x64 native utilities command prompt (A startmenu shortcut to this is contained in the C++ package for VisualStudio) +The mod itself is built like any other fabric mod: using gradle. Look at the [CI config](https://gitlab.com/JFronny/BreakMe/-/blob/master/.gitlab-ci.yml#L11) for an example \ No newline at end of file