CTE – Combine The Experience

RU:
Этот датапак объединяет сферы опыта в одну, **сохраняя их ценность**. Он немного оптимизирует игру, а также не заставляет ждать впитывания всего опыта. По умолчанию объединяет опыт на растоянии 2 блоков, но с CTE v3 можно выбрать своё растояние с момощью `/function cte:menu` прямо внутри игры.

_Если я забыл обновить на последнюю версию mc, то обновлю по запросу._

EN:
This datapack combines the spheres of experience into one, **preserving their value**. It optimizes the game a bit, and also does not make you wait for the whole experience to be absorbed. By default, it combines the experience at a distance of 2 blocks, but with CTE v3, you can select your distance with the power of `/function cte:menu` right inside the game.

_If I forgot to upgrade to the latest version of the mc, I will update it on request._

ColoredGlowLib

![cgl_2k](https://github.com/Emafire003/ColoredGlowLib/assets/29462910/3d70385d-4e4d-49e9-bb87-10b82902ff05)
#
This library mod enables you to make entities glow different colors other than plain white or Minecraft vanilla’s Team colors. You can also add custom color animation, a set of colors that will change overtime, like a rainbow!

![HEADER](https://github.com/Emafire003/ColoredGlowLib/assets/29462910/9346b836-2cd7-47a0-8364-e09bd66e3c37)

For normal users, you can use the commands to set custom colors, and datapacks to add custom animation, while developers can use the API and the javadoc as guide. There is also a wiki.

![coloredglowlib-with-player](https://user-images.githubusercontent.com/29462910/157507551-dfc4ee7e-66fb-4dae-9578-e17ca64e3b44.png)

![nodecraft](https://nodecraft.com/r/emalightdev)

#### Commands
Every command begins with `/cgl` , short for **C**olored**G**low**L**ib. You can also use `/coloredglowlib`.

You can specify a color to use for an entity/entitytype using the following command:

`/cgl setglowcolor `

The `entity/type/defaylt` parameter is what you want to target, so @p, Emafire003, the uuid of the entity in front of you etc or it’s type such as `minecraft:sheep`. `default` means that all entites that don’t have a specific color will glow the default color.

The `color` parameter is a hexadecimal color code (like #ff85ab, #750711, #abc, #123, #a7e ecc, search “color picker” online to get them) without the `#` since minecraft interprets it as a beginning of a tag (which is not what it should be doing in this case). In alternative you can provide the word `rainbow` that will make the entity glow, you guessed it, rainbow. You can also use `random` to make an entity glow a different random color every half a second, or another string that represents a custom animation added via datapack!

There also are some settings you can tweak. For example if you want to override the default team colors (the ones minecraft assigns) with the command:

`/cgl settings set overrideTeamColors `

You can also get the current value of the setting, like so:

`/cgl settings get overrideTeamColors`

To remove a color you can use:

`/cgl clear [useDefault]`

`useDefault` is an optional true/false parameter. If set to true, the default color will be used instead of setting the color for entities to white.

More of this in the wiki!

![bisecthosting](https://www.bisecthosting.com/LightDev)

## Custom color animations
You can add custom animations via a datapack, you can find an example of one here. After you created the datapack, you can use it as a color, corresponding to the *name* parameter you have set inside the datapack.

For example you can use:
`/cgl setglowcolor @p marine`

More info in the wiki.

## Setup
### For normal users:
Just drag and drop this mod into your mod folder and enjoy! (Make sure you are downloading the correct file for the correct loader tho!)

### For developers:
Add this library into your `build.gradle` as a dependency
“`gradle
repositories {
maven {
name = “Modrinth”
url = “https://api.modrinth.com/maven”
content {
includeGroup “maven.modrinth”
}
}
}

dependencies {
modImplementation “maven.modrinth:coloredglowlib:
}
“`

**NOTE** there currently is a f***ing annoying bug that I can’t seem to fix, requiring you to add CardinalComponentsAPI to your project as well, and you can do that by adding these as dependencies:
“`gradle
repositories {
maven {
name = “Ladysnake Mods”
url = ‘https://maven.ladysnake.org/releases’
}
}

dependencies {
modImplementation(“dev.onyxstudios.cardinal-components-api:cardinal-components-base:5.4.0”)
modImplementation(“dev.onyxstudios.cardinal-components-api:cardinal-components-entity:5.4.0”)
modImplementation(“dev.onyxstudios.cardinal-components-api:cardinal-components-scoreboard:5.4.0”)
}
“`

You can find the correct version in the versions page on Modrinth.
If you want the forge version, add a +forge to the number version. (NOTE: Not currently availbale for 3.0.0)

If you already need CardinalComponetsAPI modules in your mod, consider downloading the version of the mod that doesn’t already include them, by adding a +nocca in the version format.
The modules needed are: base, entity, scoreboard.

#### You can find more information on the wiki!

You can find examples of this lib being used in my FoxGlow and LightWithin mod.

![luma-shaders-coloredglowlib](https://user-images.githubusercontent.com/29462910/157507676-576d3fb5-e24b-41f7-a7f0-6956d7ae4e29.png)

## License

This mod is available under the GNU LGPL3 License.

## Support me
If you would like to offer me a coffee, here you go.

![ko-fi](https://ko-fi.com/S6S88307C)

For modpack devs: You are permitted to use this mod without directly asking, but please credit me somewhere, it would help! (Also, I’m kind of a curious person so maybe send me a message when you include it into your modpack, and I’d like to check it out)

## My other projects:
– LightWithin: a mod adding player-unique magicalish fancy powers that activate when the player is in danger!
– FoxGlow: a mod that makes foxes and player glow whenever you eat the Glow Berry, or other glowy foods!
– BeamPass: makes the beacom beam pass through selectable blocks, even if they are solid!
– StructurePlacerAPI: an API that allows developers to easly place NBT structures in the world, and to restore it afterwards!
– Seedlight Riftways: An experimental mod to travel seamlessly from worlds to servers and viceversa though portals!
– And others! Check them out over my profile page!

Colored Lights

# Colored Lights
A compromise solution to colored lighting in Minecraft by tinting based on area.
Normally, computing colored lighting would require excessive memory requirements which makes it unfortunately quite impractical.
This mod takes a compromising approach that calculates light colors instead for each chunk corner, and smoothly blends between them within the chunk.
Although this solution is not perfect and does have noticeable issues, it achieves the general effect with minimal performance impact.

This mod works entirely client-side and requires both Fabric Loader and API.

You can see some examples of the mod in action here:

![Example of lighting](https://i.imgur.com/mekeDny.png)

![Example of lighting](https://i.imgur.com/UG3IiH6.jpeg)

## Configuration & Mod Integration
The colors emitted by blocks can be configured with a resource pack! This means any mod can easily add colored light
compatibility by just adding a data file.

To modify or add light colors, create `assets/colored_lights/light_colors.json`:
“`json
{
“replace”: false,
“colors”: {
“redstone_torch”: “#ff3333”,
“lava”: “#ff9933”
}
}
“`

The configuration must provide a mapping between blocks that emit light and the corresponding hex color value that they should emit.
Note that colors aren’t represented exactly due to the color space being compressed down.

If `replace` is specified as true, the default values will be cleared.
For any pack just adding to existing color mappings or just replacing specific entries, replace should be false.

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)

ClearDespawn

Clear Despawn is a mod that makes dropped items flash when they’re about to despawn. By default, this happens when the item has about 20 seconds left until despawn and the flashing gradually gets faster as the timer goes down.

Clear wither hearts

Makes** withered hearts clear** to see if they are there or not.

Clear Lag

This data pack uses methods from server software like Spigot and Paper to optimize performance.
You can configure many settings and even enable a small anti-crash for your server.

# How to use
Use `/function clearlag:menu` to modify settings, view clear statistics and configure which clear/warning messages are shown.
# Methods this data pack uses
– Shorter item/experience orb despawn time (valuable items and death items wont get removed through clears)
– Automatic clears which remove all items in a configurable interval
– Freezes unused entities
– Merges experience orbs
– Removes collision from farm animals

The data pack was created with the aim of being high-performing and efficient, and should not cause any lag on its own.

## Server software
Works on vanilla, bukkit, spigot, paper, all forks of paper and modded servers.

Note: You should always prefer server software such as Paper as it has a lot more customizable options and overall performance that data packs can never reach. You should only use this data pack if you have to use vanilla or you still have a lot performance issues.

## Credits
Originally made by E4ry, modified with their permission: ClearLag Datapack

Cleaner Armour Armor HUD Hotbar

Removes the Empty Armor Containers from the HUD, for a cleaner GUI:

Cleaner Armour Armor HUD Hotbar In-Game

vs Minecraft Vanilla:

vs Minecraft Vanilla Armour Armor

Inspired by MC vanilla’s ‘Absorption Hearts’:

Minecraft Vanilla Absorption Hearts

v1.20.2 (latest) and above is compatible with every other resourcepack.

Just select and put this resourcepack above others in order to work.

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

Chroma Key – Green Screen

## Description

A vanilla shader that changes lime concrete to chroma key. Green screen instead of green concrete

![preview](https://cdn.modrinth.com/data/jb5UNoM2/images/6eed9968881715b0d545dc6e531668c46402d265.png)

## Dependencies
– Fabric loader requires Fabric API