Skip to content

Instantly share code, notes, and snippets.

View mworzala's full-sized avatar
👾

Matt Worzala mworzala

👾
View GitHub Profile

Minestom 1.21.11

The 1.21.11 branch has now been merged, thanks to all who tested and contributed to it!

Environment Attributes & Timelines

See minecraft.wiki Environment Attributes and Timelines for exact format details.

Environment attributes bring a pretty notable breaking change to the Biome and DimensionType API (many fields have changed, all of the removed fields are now configured via Environment Attributes as well as many new options).

Both Biome.Builder and DimensionType.Builder have a new setAttribute(EnvironmentAttribute, T) to override a single attribute. Biome additionally has an option to modify an inherited attribute (reminder: attributes are merged with their parent) via modifyAttribute(EnvironmentAttribute, Modifier, Arg). The available modifiers for a given attribute can be observed in the operators argument of the EnvironmentAttributeTypes initializers. For example, whe

Damage Types

Parkour Relevant

  • IN_FIRE
  • CAMPFIRE
  • ON_FIRE
  • LAVA
  • HOT_FLOOR
  • DROWN

Damage Types

Parkour Relevant

  • IN_FIRE
  • CAMPFIRE
  • ON_FIRE
  • LAVA
  • HOT_FLOOR
  • DROWN

Minestom 1.21.10

The 1.21.10 (including 1.21.9) branch has now been merged, thanks to all who tested and contributed to it!

Java 25

Minestom tracks the latest LTS version of Java. Since Java 25 has been released, it is now the minimum required version of Java to use Minestom. To use Java 25 you must be on IntelliJ IDEA 2025.2 or higher.

In gradle (Kotlin), you can set the Java version as such:

java {
static {
var packetListenerManager = MinecraftServer.getPacketListenerManager();
packetListenerManager.setPlayListener(ClientCommandChatPacket.class, CommandHandlingPlayer::execCommand);
packetListenerManager.setPlayListener(ClientTabCompletePacket.class, CommandHandlingPlayer::tabCommand);
}
private static void execCommand(@NotNull ClientCommandChatPacket packet, @NotNull Player player) {
final String command = packet.message();
package net.hollowcube.mapmaker.map.block.handler;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.nbt.BinaryTag;
import net.minestom.server.codec.Transcoder;
import net.minestom.server.component.DataComponents;
import net.minestom.server.instance.block.Block;
import net.minestom.server.instance.block.BlockHandler;
import net.minestom.server.item.component.HeadProfile;
import net.minestom.server.tag.Tag;
Configuration on demand is an incubating feature.
Parallel Configuration Cache is an incubating feature.
Reusing configuration cache.
Task graph printing is an incubating feature.
Tasks graph for: build
+--- :bin:config:build (org.gradle.api.DefaultTask)
| +--- :bin:config:assemble (org.gradle.api.DefaultTask)
| | \--- :bin:config:jar (org.gradle.api.tasks.bundling.Jar)
| | +--- :bin:config:classes (org.gradle.api.DefaultTask)
| | | +--- :bin:config:compileJava (org.gradle.api.tasks.compile.JavaCompile)
local world = script.Parent
function create_bit_board(width, height)
local bits_needed = width * height
local bytes_needed = math.ceil(bits_needed / 8)
return buffer.create(bytes_needed), width, height
end
function get_cell(board, width, x, y)
local bit_index = y * width + x
package net.hollowcube.mapmaker.map.instance;
import net.kyori.adventure.nbt.CompoundBinaryTag;
import net.minestom.server.MinecraftServer;
import net.minestom.server.instance.Chunk;
import net.minestom.server.instance.Instance;
import net.minestom.server.instance.Section;
import net.minestom.server.instance.block.Block;
import net.minestom.server.instance.block.BlockHandler;
import net.minestom.server.instance.heightmap.Heightmap;
package net.hollowcube.compat.moulberrytweaks.packets;
import net.hollowcube.compat.api.packet.ClientboundModPacket;
import net.hollowcube.compat.moulberrytweaks.MoulberryTweaksAPI;
import net.hollowcube.compat.moulberrytweaks.debugrender.DebugShape;
import net.kyori.adventure.key.Key;
import net.minestom.server.network.NetworkBuffer;
import net.minestom.server.network.NetworkBufferTemplate;
import org.intellij.lang.annotations.MagicConstant;
import org.jetbrains.annotations.NotNull;