Crashma

Crashma


Has a 1/3 chance to crash your game every minute while in a world. Why? idk lol

CraftDen1al

# Plugin Synopsis
This is a lightweight plugin run on server-side, which allows you to refuse certain crafting operations from client-side.
# How to Use This Plugin
Loading world with this plugin loading, this plugin will not actively modify anything. You need to create and edit a file named `craftden1al.json` (case sensitive on Linux) in the root directory of the world (i.e. in the same directory as `level.dat`).
Example of `craftden1al.json`: (“//” comments for ease of understanding, actual JSON files do not allow comments)
“`json
{
“deny_mode”: false, // defaults ‘true’; ‘true’ for deny mode and ‘false’ for allow mode; accepts: ‘true’ | ‘false’
“patterns”: [
[
{
“type”: “rege_s_simple_datapack:all”, // a string represents a condiion type, registered in rege.rege.minecraftmod.craftden1al.util.ConditionRegistry
“data”: [] // any element, depends on the type’s requirement
}, // an object represents a conditional match, or ‘null’ represents an unconditional match; accepts: an object | ‘null’
[
“minecraft:string”, // a string(available on MC 1.7+) represents the resource location of the item, or a number represents the raw ID of the item, or an object(see below) represents a more detailed item, or ‘null’ represents an empty slot
“minecraft:string”, // the same as the previous line
“minecraft:string”, // the same as the previous line
“minecraft:string” // the same as the previous line
], // an array represents a shaped or shapeless recipe’s ingredients, or ‘null’ represents that the ingredients are unimportant
{
“id”: “minecraft:wool”, // a string(available on MC 1.7+) represents the resource location of the item, or a number represents the raw ID of the item
“dv”: 0, // a number represents the DV(Damage Value) of the item
“count”: 1 // a number represents the count of the result item; won’t be useful in ingredients’ definitions
}, // a string(available on MC 1.7+) represents the resource location of the result item, or a number represents the raw ID of the result item, or an object represents a more detailed result item, or ‘null’ represents that the result item is unimportant
2, // an integer represents the width of the shaped recipe, or null represents that the width of the shaped recipe is unimportant; if both this and next element is absent, it represents that whether the recipe to match is shaped or not is unimportant
2 // an integer represents the height of the shaped recipe, or null represents that the height of the shaped recipe is unimportant; if this element is absent and the previous element is present, it represents that the recipe to match is shapeless
]
] // defaults ‘[]’; an array represents all recipe patterns to match
}
“`
So, after editing the file and restarting the server / re-entering the world, the client player will find they are only able to craft 1 White Wool with 4 Strings, and when trying to craft other recipes, even though the result item is displayed on the right side of the crafting screen, when trying to take out the item, it will “bounce back”, thus refusing to craft certain recipes.
# Notice
Please refer to the Minecraft Wiki’s history for recipe lists, and the width and height of the shaped crafting patterns are strictly “source-code-based”.
For example, the width and height of Diamond Axe’s are 2 and 3, not 3 and 3; and must be `[“minecraft:diamond”, “minecraft:diamond”, “minecraft:diamond”, “minecraft:stick”, null, “minecraft:stick”]`, not its horizontal-mirrored form (i.e. `[“minecraft:diamond”, “minecraft:diamond”, “minecraft:stick”, “minecraft:diamond”, “minecraft:stick”, null]`).
If you are not able to view the source code, the best way is to write both to the pattern.
# FAQ
Q: Is it useful to run this mod on the client-side?
A: Client-side loading of this mod is useful for entering singleplayer worlds. It takes no effect for entering multiplayer games. Whether it takes effect depends on whether this mod is loaded on the server side.
Q:Seems that the pattern defined in `craftden1al.json` did not being loaded?
A:Please check whether the content of `craftden1al.json` conforms to the syntax of JSON (pay special attention to the presence or absence of commas, whether the symbols are halfwidth, and no comments allowed). If there is a syntax error, the game log will show `Incorrect JSON syntax of craftden1al.json, giving up loading: reason`. As well as confirming that the key names are spelled correctly (e.g. `patterns` is written as `pattern` causing no patterns to load), and that the recipe list is incorrect.
Q: In Creative Mode, I can press a number key to move an item from the result item slot out without bouncing it back?
A: This is a feature of Creative Mode, this won’t happen in Survival/Adventure Mode.
Q: Will `craftden1al.json` be overwritten because it contains invalid item IDs, etc.?
A: No. This plugin will only read the file, not write to it.

CraftBedrock

![Recipe](https://cdn.modrinth.com/data/cached_images/d6f0bacaae1ce4cbf7c4e30801c10e5c1374738f_0.webp)

Craft Bedrock with the following pattern:

Top Left: Obsidian

Top Middle: Cobblestone or Stone

Top Right: Obsidian

Middle Left: Cobblestone or Stone

Center: Nether Star

Middle Right: Cobblestone or Stone

Bottom Left: Obsidian

Bottom Middle: Cobblestone or Stone

Bottom Right: Obsidian

Produces 8 Bedrock per craft.

Category: Redstone.

Shows a notification when crafted.

ComputerCraft

![ComputerCraft banner featuring computers and a turtle](https://cdn.modrinth.com/data/r7tyeVvQ/images/7c9a887e8ef20c93f68f44efb93155c479ebc168.png)

# ComputerCraft

ComputerCraft is a modification for Minecraft that’s all about computer programming. It allows you to build in-game Computers and Turtle Robots, and write programs for them using the Lua programming language. The addition of programming to Minecraft opens up a wide variety of new possibilities for automation and creativity. If you’ve never programmed before, it also serves as excellent way to learn a real world skill in a fun, familiar environment.

If you’re not familiar with ComputerCraft, visit the Website or the Wiki to find out more.

## History

ComputerCraft was originally released in late 2011 by Daniel Ratcliffe. In early 2017, after working on the mod solo for five years, it was decided to release the source code publicly to allow Dan to devote time to other projects.

## Archival notice

**This mod is abandoned and has been uploaded for archival purposes. It was originally created Dec 24, 2011 by Daniel Ratcliffe. It has been uploaded to Modrinth under the ModrinthArchives account with permission from the original author.**

![Twitter screenshot showing permission to upload](https://twitter.com/DanTwoHundred/status/1613103128987172864)

Colourful containers GUI

Sick of approaching your enchanting table only to be presented by the same grey menu as the crafting table? Looking to add some colour into your game? Introducing Colourful Containers!
A container GUI replacement mod that hopes to match the menu to every one of Minecraft’s colourful interactable blocks.
Theatricks aside, this texture pack will replace the GUI of every block like the crafting table and furnace. Each new menu will take inspiration from the block its associated with. Some are even animated!

![preview](https://cdn.modrinth.com/data/cached_images/0827f268aedbbdd141db8901e900d52fa7f30723.png)

– Anvil
– Recipe Book
– Blast Furnace
– Brewing Stand
– Cartography Table
– Chests (Large, Small, Ender) **OptiGUI required**
– Crafting Table
– Dispenser
– Dropper optifine.png
– Enchanting Table
– Furnace
– Grindstone
– Hopper
– Loom
– Shulkers (All Colours) **OptiGUI required**
– Smoker
– Stone Cutter
– Smithing Table
– Barrel
– Custom Villager GUI **OptiGUI required**
– Beacon
– crafter
– survival inventory

– creative inventory
– mod support

**Chris_XENO**
**BurntToast_**
**Kingybu**

Colourful containers Dark Mode GUI

Sick of approaching your enchanting table only to be presented by the same grey menu as the crafting table? Looking to add some colour into your game? Introducing Colourful Containers, now in dark mode!
A container GUI replacement mod that hopes to match the menu to every one of Minecraft’s colourful interactable blocks.
Theatricks aside, this texture pack will replace the GUI of every block like the crafting table and furnace. Each new menu will take inspiration from the block its associated with. Some are even animated!

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/4fdcb67a32e628322c6c8d0bfb07a33b4587d2c9.png)

– Anvil
– Recipe Book
– Blast Furnace
– Brewing Stand
– Cartography Table
– Chests (Large, Small, Ender) **OptiGUI required**
– Crafting Table
– Dispenser
– Dropper optifine.png
– Enchanting Table
– Furnace
– Grindstone
– Hopper
– Loom
– Shulkers (All Colours) **OptiGUI required**
– Smoker
– Stone Cutter
– Smithing Table
– Barrel
– Custom Villager GUI **OptiGUI required**
– Beacon
– crafter
– survival inventory

Including
– Dark Loading Screen
– Dark Advancements Menu

– creative inventory
– mod support

**Chris_XENO**
**BurntToast_**
**Kingybu**

CME is Bad

# Abstract
Players and modpack developers sometimes find the game crashed with `ConcurrentModificationExceptions` (CME) and `IndexOutOfBoundsExceptions` (IOOBE), which only give stacktrace of current thread and are hard to trace which mod causes them. Here’s one of the crashes which is caused by SimpleReloadInstance in 1.20.1 Forge:

![CME from SimpleReloadInstance](https://cdn.modrinth.com/data/cached_images/877cd1d1976b1969fffb619bdbd62b13244e02c8.png)

So this is what the mod is developed for. Players who install this mod and add javaagent to JVM Argument correctly will receive a full log for modification history of a certain collection:

![log of this mod](https://cdn.modrinth.com/data/cached_images/d3d00f23694f96591fc77d8387540d7ce29c078a.png)

# Usage
First, add this jar to mods folder.

Second, edit your Java Virtual Machine Argument in your launcher. Add `-javaagent:mods/CMESuckMyDuck-.jar=;;;`.

Finally, run the game, play and wait until the crash happens.

# Usage for Other Java Projects
This mod can not only be used for Minecraft debugging, but also be utilized to debug other java projects. Similar to Minecraft. The only different step is that you should add gson and asm jar to classpath (`-cp`) before javaagent, and add our `CMESuckMyDuck-.jar` to classpath after javaagent.

# Arguments
##
A full name of the class, which has a container that you would like to monitor. Use “ instead of `.` (a.k.a. the internal name of class).

##
A field name of the container in target class, which you would like to monitor. For Forge, use SRG name. For Fabric, use intermediary name. For NeoForge, use official name.

##
Currently, we only support three containers: `List`, `Set`, `Map`. This argument indicates the type of monitored container.

## `static` or `nonstatic`. This argument indicates the container is a static field or non-static field.

# How to get and
Let’s start with an example.

First, take a look at the stacktrace of CME/IOOBE:

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/f4908f0fb44bc480d0fba4a1714bf9dbca4b8043.png)

Second, read the source code of SoundEngine and confirm which container is facing this issue:

![Replace this with a description](https://cdn.modrinth.com/data/cached_images/26c2eefabbde9a9ce3aea62dbfdf1012d736c16d.png)

Now we know we should monitor map `field_217942_m` (`instanceToChannel` in `SoundEngine`). Keep going.

Third, install this mod, and add “`-javaagent:mods/CMESuckMyDuck-1.0.0.jar=net/minecraft/client/audio/SoundEngine;field_217942_m;Map;nonstatic`” to Java Virtual Machine Argument. Relaunch the game and wait for the next crash.

Finally, open `CMESuckMyDuck.log` file and you will see which thread and which mod has concurrently modified the container.

# Examples (JVM Arguments)
## ConcurrentModificationException from SoundEngine in Forge 1.16.5 Environment
`-javaagent:mods/CMESuckMyDuck-1.0.0.jar=net/minecraft/client/audio/SoundEngine;field_217942_m;Map;nonstatic`

## ConcurrentModificationException from PotionBrewing in Forge 1.20.1 Environment
`-javaagent:mods/CMESuckMyDuck-1.0.0.jar=net/minecraft/world/item/alchemy/PotionBrewing;f_43494_;List;static`

## ArrayIndexOutOfBoundsException from Zeta mod
`-javaagent:CMESuckMyDuck-1.0.0.jar=org/violetmoon/zetaimplforge/event/ForgeZetaEventBus;convertedHandlers;Map;nonstatic`

# Other options
## Log Level
Use system property `-Dcme_suck_my_duck.log_level=` to set custom log level.

Default 1, which means no debug message will be logged.

Users can set it to 0 to output debug message, which is not recommended – query functions like Map#get, Set#containsAll will also be logged when set to 0, and make the file very very long.

## ASM API Version (v1.0.2+)

In order to maintain compatibility with the latest version of Minecraft, this mod is compiled with asm version 9.7. For older versions of Minecraft (such as 1.12.2), API level operations such as ASM_9 cannot be applied, so players need to use `-Dcme_suck_my_duck.asm_api_version=` to modify the ASM API version compatibility. For example, game version 1.12.2: `-Dcme_suck_my_duck.asm_api_version=5`.

## File Max Entries (v1.0.3+)

Since we notice that when crash happens, the last few operations in the log are much more important than the previous ones. So our mod adopts a paging strategy after v1.0.3, and only the last two pages are retained at the end. The number of logs output on each page (that is, the number of operation call stacks) is fixed, and the default value is 500. Players can use `-Dcme_suck_my_duck.file_max_entries=` to modify the maximum number of elements on the page.

## Whitelist of Constructor (v1.0.3+)

Sometimes a container in a certain class is used in many places (eg. CompoundTag#tags). Directly using this mod will cause the log to be too long or the valid content to be replaced by subsequent operations. Therefore, players can specify an additional constructor whitelist to monitor the corresponding container in the corresponding class of a specific module. The default is empty, that is, there is no whitelist. Players can use `-Dcme_suck_my_duck.whitelist_constructor_stacktrace=` to specify it. If any line in the stack trace where the container is constructed includes the content of the whitelist string, the container will be monitored – otherwise, the container will not be monitored, which greatly simplifies the log output information.

## Transform to Thread Safe (v1.0.4+)
Use system property `-Dcme_suck_my_duck.transform_to_thread_safe=true` to transform the field into a thread-safe container.

This is NOT recommended unless you like slowness and don’t want to fix the problem.

## Inject method (v1.0.4+)
Use system property `-Dcme_suck_my_duck.inject_method=true` to switch to inject mode.

If set, you should use `-javaagent:CMESuckMyDuck-.jar=;` and whenever this method is called, you will receive a stack trace in log files.

## Ignore threads (v1.0.5+)
Use system property `-Dcme_suck_my_duck.ignore_threads=;;;…` to ignore some thread that is expected to modify the given container (or call the given method). For example, `-Dcme_suck_my_duck.ignore_threads=”Server thread”`.

## Stop logging early (v1.0.7+)
Use system property `-Dcme_suck_my_duck.stop_logging_if_exception_created=false` to stop logging if critical error occurs.

## Trace ID Updater (v1.0.8+)
Use system property `-Dcme_suck_my_duck.trace_id_updater=;` to update trace ID when calling the given method. This might be useful in inject mode.

## Monitoring Local Variables (v1.1.0+)
Use system property `-Dcme_suck_my_duck.local_var_index=` to monitor local variable at given index in the given method.

If set, you should use `-javaagent:CMESuckMyDuck-.jar=;;`. By the way, the index can be reused by different local variables. So you might have to use `-Dcme_suck_my_duck.match_local_index=` to specify the ordinal of ASTORE operation to indicate which local variable to monitor.

# Conclusion
I like eating peking duck. It’s so delicious!

![Photo by Polina Tankilevitch: https://www.pexels.com/photo/close-up-photo-of-savory-peking-duck-dish-on-a-ceramic-bowl-5848604/](https://cdn.modrinth.com/data/cached_images/d4ce4bba6f0bef8780cd5843390bf3358dd9b55b_0.webp)

Classic Natural Textures

# Natural Texture Pack

![Build of a small house in Minecraft Beta 1.7.3 with the texture pack on](https://cdn.modrinth.com/data/cached_images/8c43b8bebdd677a0aaddb95691539df7a364045d_0.webp)
This texture pack was originally created by 4J Studios for the legacy console editions of the games. I extracted this from the texture files for the Xbox 360 edition and ported most of the textures (excluding console-exclusive GUI textures I’d have to make from scratch). This pack is soley for early release and beta versions of the game. If you want a modern port for the current version, the people behind Legacy4J maintain a port of the modern bedrock version with recreations of the missing GUI textures you can download here

### Due to being 32x, this pack needs mods to work (OptiFine, MCPatcher, StationAPI, etc.) on versions 1.5 and older. If they aren’t present, you will encounter issues like this:
![Graphical issue](https://cdn.modrinth.com/data/cached_images/ca91d5c148c16a8a7b3bddeb775dbe0193eeb6be.png)

### This is not an issue of the pack. This is a game issue those mods fix.

Class Loader Fixer

## Summary

This mod fixes the Class Loader in legacy versions of Minecraft.

## Details

This is a simple **jar-mod** which adds the `CodeSource` to each loaded class in FML.
That is actually everything this mod does (well, besides fixing a few more bugs on even older versions of Forge).
This mod just ships a backported `RelaunchClassLoader` which overwrites the built-in version (from FML) and allows mods to read the file source of classes.

### Why is this needed in some cases?

For example, Block Helper is able to show you in the item tooltips which mod a given item is from.
This procedure relies on the `CodeSource` object of the `ProtectionDomain`s of the loaded classes.
Old versions of FML do not set this `CodeSource`, which leads Block Helper into thinking that everything is a Vanilla item.

## Installation

### As a ModLoaderMP / Forge mod

This mod needs to be installed as a **jar-mod**. That means, you have to…
1. Be sure to back up your `minecraft.jar`!
2. Extract the content of the mod zip into the `minecraft.jar` file
3. Delete the `META-INF` folder in there
4. Overwrite any existing files when doing so!
5. ???
6. Profit!

### As a Fabric mod

I do not have any Fabric versions available. However, the fix is incorporated directly into Fabricated Legacy Forge. Hence, you do not need to install it separately!

## Unsupported mods

– ObsidiPlates 1.4.2 was incompatible with v1. This is fixed in v2.

Please let me know about any incompatibilities! 🙂

Circular Logs

# Improve the look of your default Logs with… ↴

![Circular Log’s Logo](https://cdn.modrinth.com/data/cached_images/271d9f58613a83ac09fe634c67d279d0c5ca6e8b.png)

## Adds Vanilla-like circulated Logs Top | No Optifine or other Mods needed!

### It’s supports every Version of the game! (even including Legacy ones)
### And day-by-day will have more and more mods supported!

Supported Mods

• Abundance – by exoplanetary

• Architect’s Palette – by Jsburg

• Biomes O’ Plenty – by Forstride & Adubbz

• The Aether – by Oz-Payn

• Vanilla Minecraft – by Mojang

• Wilder Wild – by FrozenBlock