BreakMe/README.md

34 lines
2.6 KiB
Markdown
Raw Normal View History

2020-08-06 21:51:20 +02:00
# BreakMe [![pipeline status](https://gitlab.com/JFronny/BreakMe/badges/master/pipeline.svg)](https://gitlab.com/JFronny/BreakMe/-/commits/master)
2020-08-26 15:44:06 +02:00
BreakMe crashes Minecraft in creative ways. It uses Fabric (although porting should be trivial, most of the code is standard java & some JNI)\
NOTE: It has come to my attention that, although technically working, BreakMe *exceptions* are now caught in 1.16.2\
This means that the "safe" methods of crashing will no longer work properly. I might try to implement something that works by killing the process but we will see.\
For now stick to full crashes or 1.16.1
2020-08-06 21:47:04 +02:00
# 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
2020-08-06 21:51:20 +02:00
You can use [Mod Menu](https://www.curseforge.com/minecraft/mc-mods/modmenu) to change the configuration.\
2020-08-06 21:47:04 +02:00
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
2020-08-06 21:51:20 +02:00
- 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.
2020-08-06 21:47:04 +02:00
- None: Do nothing
# Building
2020-08-06 21:51:20 +02:00
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 start-menu 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\