COWMODSКаталог модов

Ornithe Standard Libraries

A set of libraries for modding with Ornithe.

129,3 тыс.23обновлён 30 окт. 2026 г.
БиблиотекиУтилиты

Описание

Ornithe Standard Libraries (OSL) provides tools for modding with Ornithe.

Libraries

Core API

The Core API provides common utilities used by other modules, such as an events system and registries.

Blocks API

The Blocks API provides events and utilities for creating custom blocks.

Branding API

This module patches the title screen with mod loader information in 16w05a and below, emulating what you would see in 16w05b and above. This is done by parsing the run args for the versionType option.

Config API

The Config API provides a framework for building and storing mod configs.

Entrypoints API

The Entrypoints API allows mod developers to submit entrypoints that are called before the game is initialized.

Executors API

This module patches the game instance so it can be used as an Executor, and provides a background executor service for background tasks.

Items API

The Items API provides events and utilities for creating custom items.

Keybinds API

The keybinds API provides events for registering keybinds.

Lifecycle Events API

The Lifecycle Events API provides events to track the lifecycle of the Minecraft client and server.

Localization

The Localization API provides utilities for localizing text and handles loading in mods' translation files.

Networking API

The Networking API provides a framework for client-server communication.

Resource Loader API

The Resource Loader API allows mods to load their own resources into the game.

Text Components API

This module provides an alternative to Minecraft's Text components.

Information for developers

Our Ploceus gradle plugin provides helper methods for adding OSL dependencies to your projects:

dependencies {
    ...
    ploceus.dependOsl('0.20.1')
}

You can also add dependencies on individual OSL modules:

dependencies {
    ...
    ploceus.dependOslModule('0.20.1', 'core')
    ploceus.dependOslModule('0.20.1', 'entrypoints')
}

Последние версии

Все версии →
beta

Ornithe Standard Libraries 0.23.0

0.23.0
30 окт. 2026 г.219Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
## Ornithe Standard Libraries 0.23.0 OSL 0.23.0 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Core 0.12.0 ### Namespaced Identifiers New functionality has been added to namespaced identifiers, and a change has been made to equality checks. ```java NamespacedIdentifier { // Returns the char used as the separator in the String-representation of the namespaced identifier. // This separator is also used to check equality of namespaced identifiers. char separator(); // Returns a copy of this namespaced identifier with the given namespace. NamespacedIdentifier namespaced(String namespace); // Returns a copy of this namespaced identifier where the identifier is a substring of this identifier. NamespacedIdentifier subidentifier(int beginIndex); // Returns a copy of this namespaced identifier where the identifier is a substring of this identifier. NamespacedIdentifier subidentifier(int beginIndex, int endIndex); } ``` New functionality has also been added to the `NamespacedIdentifiers` utility class, in the form of various `isValid` methods that return a `boolean` result. These complement the various `validate` methods that throw an exception on invalid input. ```java NamespacedIdentifiers { // Returns whether the given namespaced identifier conforms to spec (only chars a-z0-9-._/ allowed). static boolean isValid(NamespacedIdentifier identifier); // Returns whether the given String is a valid namespace. static boolean isValidNamespace(String namespace); // Returns whether the given String is a valid identifier. static boolean isValidIdentifier(String identifier); // Returns whether the given char is allowed in the String representation of a namespaced identifier. static boolean isCharAllowed(char chr); } ``` A change has been made to the `NamespacedIdentifiers#equals(NamespacedIdentifier, NamespacedIdentifier)` method. It now also checks equality of the `NamespacedIdentifier#separator()` result in addition to equality of the `NamespacedIdentifier#namespace()` and `NamespacedIdentifier#identifier` results. ### Topological Sorting Added `TopoSort` utility class, which can perform as topological sort on a list of nodes, given all the incoming edges for each node. ## Executors 0.1.1 Added `ReentrantDirectExecutor`, an `Executor` that handles reentrance with a queue. This is internal API for the Resource Loader API. ## Block States 0.2.0 ### Block Entity Extension - Fixed several server-side Mixin issues that caused crashes in dedicated server environments in 12w42a and below. - To aid in fixing above issue, some methods were added to `BlockEntity` on the server side in 12w42a and below. ```java BlockEntity { // Returns the block at this block entity's position in the world. Block getBlock(); // Returns the metadata of the block at this block entity's position in the world. int getBlockMetadata(); } ``` ## Entities 0.1.2 Fixed a `NoSuchMethodError` in 1.9-1.10 when registering a spawn egg through `EntityTypeRegistry#registerSpawnEgg(EntityType, int, int)`. ## Networking 0.11.0 & 0.12.0 ### Channel Identifiers Serialization of channel identifiers has been changed to be more consistent and versatile. Previously, the way channels identifiers were converted to and from `String`s was different in 1.13-pre2 and below vs 1.13-pre4 and above. In 1.13-pre4 and above, Vanilla uses `Identifier`s for custom payload channels, and OSL does as well. As such, there is no special handling for `String` conversions, and the standard colon-separated format is used: `<namespace>:<identifier>`. ```java ChannelIdentifiers.from("example", "cookie"); // String representation -> "example:cookie" ``` In 1.13-pre2 and below, Vanilla uses `String`s for custom payload channels, with no validation exception for limiting the length to 20 (or 16 in older versions). However, by convention, a sort of namespaced identifier is used with a vertical bar separator (`|`). All channel identifiers made through OSL were serialized to this legacy format. ```java ChannelIdentifiers.from("EXAMPLE", "Cookie"); // String representation -> "EXAMPLE|Cookie" ``` #### Changes - Channel identifiers created through `ChannelIdentifiers.from()` now ALWAYS serialize to the standard colon-separated format. - New factory `ChannelIdentifiers.legacy()` methods have been added that create channel identifiers that ALWAYS serialize to the legacy vertical-bar-separated format. - `StringChannelIdentifierParser` can now parse both kinds of identifiers from `String`s. ```java ChannelIdentifiers.from("example", "cookie"); // String representation -> "example:cookie" ChannelIdentifiers.legacy("example", "cookie"); // String representation -> "example|cookie" ``` New `register` methods have been added as well as a short-hand for channel construction and registration. ```java ChannelIdentifiers.register("example", "cookie"); // the line above is equivalent to the line below ChannelRegistry.register(ChannelIdentifiers.from("example", "cookie")); ``` ### Packet Buffers New (de)serialization methods have been added to `PacketBuffer`. ```java PacketBuffer { // Reads a collection from this PacketBuffer. // The constructor takes in the size of the collection as an int. // The reader reads individual elements from this PacketBuffer. <T, C extends Collection<T>> C readCollection(IntFunction<C> constructor, Function<PacketBuffer, T> reader); // Similar to readCollection, but pre-configured to return a List <T> List<T> readCollection(Function<PacketBuffer, T> reader); // Writes the given collection to this PacketBuffer. // The writer takes in this PacketBuffer and an element and writes that element to the buffer. <T> ByteBuf writeCollection(Collection<T> collection, BiConsumer<PacketBuffer, T> writer); // Reads an OSL TextComponent from this PacketBuffer. // The TextComponent is parsed from stringified JSON. TextComponent readTextComponent(); // Writes the given OSL TextComponent to this PacketBuffer. // The text component is written as stringified JSON. ByteBuf writeTextComponent(TextComponent text); } ``` ### Client Connection Events A new method has been added to client connection context objects. ```java ConnectionContext { // still exists but deprecated and may be removed in the future @Deprecated default boolean isServerLocal() { return !this.isMultiplayer(); } // Returns whether connected to a multiplayer game or a singleplayer game. boolean isMultiplayer(); } ``` ## Registries 0.3.0 & 0.3.1 ### Networking The Registry Sync packet now used ID `osl:registries` in all versions (was previously `osl|registries` in 1.13-pre2 and below). ### Fixes Fixed several Mixin issues in dedicated server environments in 12w17a and below, which lead to crashes. ## Resource Loader 0.9.0 ### Fixes - Improved behavior on game start-up. Previously resource reloads would run twice in certain versions below 1.6. - Fixed profiling giving incorrect data on reload times for individual reloaders in 1.13 and below. - Fixed vanilla reload listeners not being profiled during game start-up. - Fixed `NoSuchMethodError` when opening the resource packs screen in 13w26a-1.7.10 when mod-provided virtual resource packs were present. ### Triggering Resource Reloads. A `reloadResources()` method has been added to `Minecraft` with the same purpose and function as the existing Vanilla method in 1.6 and above: it refreshes the pack repository, triggers a full resource reload, and updates the world renderer if necessary. ### Texture Packs In Early Alpha - Support for loading texture packs from the `.minecraft/texturepacks/` folder has been added to early Alpha versions (a1.2.1_01 and below). - No texture packs screen has been added, but a texture pack is selected from the `skin` option in `options.txt` just like in a1.2.2-1.5.2. - Support for loading folder texture packs has been added to 12w07a and below. - Fixed issues with folder texture packs in 12w08a-1.2.5, where the pack description and icon would not load in the texture packs screen. ### Resource Reloader Dependencies A dependency system for resource reloaders has been implemented that allows modders to control the order in which their reloaders are run. The old API still exists but is deprecated and may be removed in the future. New API has been added to `ReloadableResourceManager`. ```java ReloadableResourceManager { // still exists, but is now deprecated // all reloaders added through this method will be run last void addReloader(ResourceReloader reloader); // registers the given reloader to the given identifier void registerReloader(NamespacedIdentifier identifier, ResourceReloader reloader); // declares a dependency on the reloaders with given identifiers // this will ensure the given reloader will run *after* all its dependencies void registerReloaderDependencies(NamespacedIdentifier identifier, NamespacedIdentifier... dependencies); } ``` All Vanilla reload listeners are registered as identifiable reloaders to ensure correct ordering between them, and to allow modders to insert their own reloaders anywhere in between. The identifiers used are public API in the `AssetsReloaders` and `DataReloaders` classes. These classes also list `before_vanilla` and `after_vanilla` markers that can be used to ensure your reloaders run before or after all Vanilla reload listeners. ```java resourceManager.registerReloader(EarlyReloader.IDENTIFIER, new EarlyReloader()); resourceManager.registerReloader(LateReloader.IDENTIFIER, new LateRelloader()); // BEFORE_VANILLA marker runs before all Vanilla reload listeners // register a dependency from it on your own reloader to ensure your own reloader runs first resourceManager.registerReloaderDependencies(AssetsReloaders.BEFORE_VANILLA, EarlyReloader.IDENTIFIER); // AFTER_VANILLA marker runs after all Vanilla reload listeners // register a dependency from your own reloader on it to ensure your own reloader runs last resourceManager.registerReloaderDependencies(LateReloader.IDENTIFIER, AssetsReloaders.AFTER_VANILLA); ``` ## Localization 0.2.0 The language reloader in 11w48a-1.5.2 is now registered to `minecraft:languages`. ## Text Components 0.1.0 This API is now finally out of Alpha. ### 0.1 Alpha 7 `TextComponents#resolve(Object)` can now correctly resolve Vanilla `Text` components in 13w21a-1.6.4. ### 0.1 Alpha 8 - Added `TextComponents.convert(TextComponent, Class<T>)` that converts the given text component to the given type. Converters for `String` and Vanilla `Text` components have been added. - `String` conversion is identical to calling `TextComponent#buildFormattedString()`. - Added `MessageConsumer` interface with `sendMessage(TextComponent)` method and implemented it in Vanilla's `CommandSource`. - For now, the implementation will simply forward calls to Vanilla's `sendMessage(String)` (1.5-) or `sendMessage(Text)` (1.6+) methods, converting the `TextComponent` to a `String` or Vanilla `Text` component respectively. In the future this may be changed to support features that OSL `TextComponent`s have that formatted `String`s or Vanilla `Text` components do not.
beta

Ornithe Standard Libraries 0.22.2

0.22.2
12 окт. 2026 г.9,3 тыс.Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
# Ornithe Standard Libraries 0.22.2 OSL 0.22.2 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Block States 0.1.1 Fixed module for 15w47a-1.9.3-pre1 not loading, which prevented the Blocks and Items APIs to load for these versions as well. ## Localization 0.1.3 Fixed server-side translations in 1.1-1.5. ## Items 0.3.1 Fixed `ClassNotFoundException` in b1.9-pre3.
beta

Ornithe Standard Libraries 0.22.1

0.22.1
4 окт. 2026 г.2,6 тыс.Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
# Ornithe Standard Libraries 0.22.1 OSL 0.22.1 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Changes OSL now bundles [Conditional Mixin](https://github.com/OrnitheMC/conditional-mixin/) 1.0.0. ## Entities 0.1.1 Fixes a crash in Alpha 1.1.x. - note: to fix the crash, a Vanilla multiplayer bug was fixed where all sheep and cows appear as chickens on the client.
beta

Ornithe Standard Libraries 0.22.0

0.22.0
2 окт. 2026 г.6,6 тыс.Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
# Ornithe Standard Libraries 0.22.0 OSL 0.22.0 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Core 0.11.0 ### Direction and BlockPos The Core API now provides its own `Direction` enum and `BlockPos` class. These provide the same functionality as the equivalent Vanilla classes in 1.8 and above, but are available for all supported Minecraft versions. They are utilized by the new Block States API in 1.7 and below. ## Registries 0.2.0 ### Registry Keys Expanded the `RegistryKeys` class with registry keys for biome, block entity, and entity registries. ### Legacy String IDs Namespaced IDs were introduced in 1.7 for blocks and items, and were slowly adopted for other registries in subsequent updates. Namespaced IDs are all lowercase and use snake\_case. Legacy `String` IDs were not namespaced and were usually PascalCase instead. These legacy IDs cannot be used as namespaced IDs without some form of conversion. The `LegacyStringIds` class provides methods to convert between namespaced IDs and the legacy format `String` IDs. For legacy ID -> namespaced ID conversion, this means: - Converting strings from PascalCase to snake\_case. Consecutive uppercase letters are assumed to be an abbreviation and stick together: `TNTMinecart` -> `tnt_minecart`. - A `.`-separated prefix is assumed to be a namespace: `example.Cookie` -> `example:cookie`. If the ID has no such prefix, the `minecraft` namespace is assumed. For namespaced ID -> legacy ID conversion, this means: - Converting strings from snake\_case to PascalCase: `minecart_tnt` -> `MinecartTnt`. - Namespaces are prefixed to the ID, separated by a `.`-character: `example:cookie` -> `example.Cookie`. For IDs with the `minecraft` namespace no prefix is attached. ### Registry Sync - Added new built-in ID-mapper: `DynamicInt2ObjectMapMapper`, for maps whose contents may change throughout a world session. - When remapping registries, old numerical ID values will be re-used when possible, preventing unnecessary increase of numerical ID values. - Improved logging of errors during remapping. ## Block States 0.1.0 The Block States API implements block states in 1.7.10 and below, and extends functionality in 1.8 and above. ### Block States in 1.7.10- - Many methods in `Block` that take in `int` parameters for block data values, directions and coordinates, are deprecated in favor of equivalent methods that take in `BlockState`, `Direction`, and `BlockPos` parameters. - The `WorldView`, `WorldChunk`, and `WorldChunkSection` classes have been extended with `BlockState` getters and setters. - A `StatefulBlock` implementation is provided that forwards calls to the deprecated methods to the equivalent methods that use block states. - The chunk format is not modified whatsoever. The block state getters and setters convert block states to/from block IDs and block data values and call the existing block ID and block data value getters and setters. example usage: ```java package com.example; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.world.World; import net.ornithemc.osl.blockstates.api.block.StatefulBlock; import net.ornithemc.osl.blockstates.api.state.BlockState; import net.ornithemc.osl.blockstates.api.state.StateDefinition; import net.ornithemc.osl.blockstates.api.state.property.BooleanProperty; import net.ornithemc.osl.blockstates.api.state.property.IntegerProperty; import net.ornithemc.osl.core.api.util.math.BlockPos; public class CookieBlock extends StatefulBlock { public static final IntegerProperty BITES_TAKEN = IntegerProperty.of("bites_taken", 0, 7); public static final BooleanProperty BAKED = BooleanProperty.of("baked"); public CookieBlock() { super(Material.COOKIE); } @Override public void buildStateDefinition(StateDefinition.Builder<Block, BlockState> builder) { builder.add(BITES_TAKEN, BAKED); } @Override public BlockState getStateFromMetadata(int metadata) { int bitesTaken = metadata & 0x7 boolean baked = (metadata & 0x8) != 0; return this.defaultState() .set(BITES_TAKEN, bitesTaken) .set(BAKED, baked); } @Override public int getMetadataFromState(BlockState state) { int bitesTaken = state.get(BITES_TAKEN); int baked = state.get(BAKED) ? 0x8 : 0; return baked | bitesTaken; } @Override public void onAdded(World world, BlockPos pos, BlockState state) { ... } @Override public void onRemoved(World world, BlockPos pos, BlockState state) { ... } } ``` ### Block States in 1.8+ - In 1.8, many methods are added that forward calls to equivalent methods in `Block` (Vanilla did not do this until 1.9) - In 1.12 and below, several methods are added that do exist in 1.13+, like `isAir`, `ticksRandomly`, `canBePlaced`, `onAdded`, `onRemoved`, and more. ## Blocks 0.3.0 Moved `Block` functionality extensions into the Block States API. ## Items 0.3.0 ### Fixes - Fixes item model cache resetting when leaving a world or server, leading to corrupted GUI item textures when joining another world or server. ## Block Entities 0.1.0 Basic APIs for registering block entity types. ```java package com.example; import net.ornithemc.osl.blockentities.api.BlockEntityEvents; import net.ornithemc.osl.entrypoints.api.ModInitializer; public class ExampleInitializer implements ModInitializer { @Override public void init() { BlockEntityEvents.REGISTER_BLOCK_ENTITY_TYPES.register(ExampleBlockEntityTypes::init); } } ``` ```java package com.example; import net.minecraft.block.entity.BlockEntityType; import net.ornithemc.osl.blockentities.api.BlockEntityTypeRegistry; import net.ornithemc.osl.blockentities.api.BlockEntityTypes; import net.ornithemc.osl.core.util.NamespacedIdentifiers; public final class ExampleBlockEntityTypes { public static final BlockEntityType<CookieBlockEntity> COOKIE = BlockEntityTypeRegistry.register(NamespacedIdentifiers.from("example", "cookie"), BlockEntityTypes.builder(CookieBlockEntity::new, ExampleBlocks.COOKIE)); public static void init() { } } ``` ## Block Entities Rendering 0.1.0 Basic APIs for registering block entity renderers. ```java package com.example; import net.ornithemc.osl.blockentities.api.client.BlockEntityRenderingEvents; import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; public class ExampleInitializer implements ClientModInitializer { @Override public void initClient() { BlockEntityRenderingEvents.REGISTER_BLOCK_ENTITY_RENDERERS.register(registry -> { registry.register(CookieBlockEntity.class, CookieBlockRenderer::new); }); } } ``` ## Entities 0.1.0 Basic APIs for registering entity types. ```java package com.example; import net.ornithemc.osl.entities.api.EntityEvents; import net.ornithemc.osl.entrypoints.api.ModInitializer; public class ExampleInitializer implements ModInitializer { @Override public void init() { EntityEvents.REGISTER_ENTITY_TYPES.register(ExampleEntityTypes::init); } } ``` ```java package com.example; import net.minecraft.entity.EntityType; import net.minecraft.entity.living.MobCategory; import net.ornithemc.osl.entities.api.EntityTypeRegistry; import net.ornithemc.osl.entities.api.EntityTypes; import net.ornithemc.osl.core.util.NamespacedIdentifiers; public final class ExampleEntityTypes { public static final EntityType<CookieMonsterEntity> COOKIE_MONSTER = EntityTypeRegistry.register(NamespacedIdentifiers.from("example", "cookie_monster"), EntityTypes.builder(CookieMonsterEntity::new, MobCategory.MISC)); public static void init() { } } ``` ## Entities Rendering 0.1.0 Basic APIs for registering entity renderers. ```java package com.example; import net.ornithemc.osl.entities.api.client.EntityRenderingEvents; import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; public class ExampleInitializer implements ClientModInitializer { @Override public void initClient() { EntityRenderingEvents.REGISTER_ENTITY_RENDERERS.register(registry -> { registry.register(CookieMonsterEntity.class, CookieMonsterRenderer::new); }); } } ``` ## Biomes 0.1.0 Basic API for registering biomes. ```java package com.example; import net.ornithemc.osl.biomes.api.BiomeEvents; import net.ornithemc.osl.entrypoints.api.ModInitializer; public class ExampleInitializer implements ModInitializer { @Override public void init() { BiomeEvents.REGISTER_BIOMES.register(ExampleBiomes::init); } } ``` ```java package com.example; import net.minecraft.world.biome.Biome; import net.ornithemc.osl.biomes.api.BiomeRegistry; import net.ornithemc.osl.core.util.NamespacedIdentifiers; public final class ExampleBiomes { public static final CookieBiome COOKIE = BiomeRegistry.register(NamespacedIdentifiers.from("example", "cookie"), new CookieBiome(new Biome.Settings().setName("Cookie"))); public static void init() { } } ``` ## Localization 0.1.2 - Fixes `L10n.get` throwing error if no translation exists.
beta

Ornithe Standard Libraries 0.21.1

0.21.1
29 сент. 2026 г.1,1 тыс.Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
## Ornithe Standard Libraries 0.21.1 OSL 0.21.1 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Networking 0.10.1 ### Fixes - Fixed memory leaks. - Fixed crash when disconnected from the server before login. ## Resource Loader 0.8.1 ### Fixes - Improve logging of errors when reading `pack.mcmeta`. - Fixes NPEs and crashes when resource pack summary cannot be parsed. ## Text Components 0.1 Alpha 6 The JSON format of OSL text components now supports hex color notation using a `#` prefix.
beta

Ornithe Standard Libraries 0.21.0

0.21.0
8 сент. 2026 г.4,4 тыс.Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
# Ornithe Standard Libraries 0.21.0 OSL 0.21.0 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Core 0.10.0 All of the Core API's registry classes (`SimpleIdRegistry`, `DefaultedIdRegistry`, `IdBiMap`) have been deprecated in favor of the new Registries API introduced in this update. They will be removed in a future update. ### Namespaced Identifiers Namespaced identifiers created through `NamespacedIdentifiers` factory methods no longer allow uppercase letters ([A-Z]). ```java NamespacedIdentifiers.from("example", "Thing"); // this will now throw an error NamespacedIdentifiers.from("example", "thing"); // this is still valid ``` New `prefixed` and `suffixed` methods have been added to create derivative namespaced identifiers with a prefix or suffix. ```java NamespacedIdentifier id = NamespacedIdentifiers.parse("example:cookie"); NamespacedIdentifier prefixed = id.prefixed("blocks/"); // -> "example:blocks/cookie" NamespacedIdentifier suffixed = id.suffixed(".json"); // -> "example:cookie.json" ``` ## Registries 0.1.0 The Registries API provides an alternative to Vanilla's registry system, with a more modern feature set and available for all Minecraft versions. Not all of Vanilla's registries are registered in the new registry system (only the block and item registries are at this time), but this will change over time as OSL's feature set expands. This update also provides a Registry Sync API for synchronizing numerical IDs between the server and client and across game sessions, to help avoid network desync and world corruption bugs. I want to give a shoutout to [Cat Core](https://github.com/thecatcore/), who helped develop and test this API and the accompanying changes in the Blocks and Items APIs. ### Events The `BOOTSTRAP_REGISTRIES` event is fired on game start-up, during bootstrapping. All registries should be loaded before this or in a listener to this event. Bootstrapping registries (i.e. populating their contents) may happen before this, but will be forced right after this event anyway. ```java RegistryEvents.BOOTSTRAP_REGISTRIES.register(() -> { ... }); ``` ### Registries Registries should be created and registered in your mod's entrypoint: ```java public class ExampleInitializer implements ModInitializer { @Override public void init() { ExampleRegistries.init(); } } ``` ```java public final class ExampleRegistries { public static final ResourceKey<Registry<CookieRecipe>> COOKIE_RECIPE_REGISTRY = RegistryKeys.from(NamespacedIdentifiers.from("example", "cookie_recipe")); public static final Registry<CookieRecipe> COOKIE_RECIPE = Registries.registerDefaulted(COOKIE_RECIPE_RECIPES, NamespacedIdentifiers.from("example", "chocolate_chip"), CookieRecipes::init); public static void init() { } } ``` ```java public final class CookieRecipes { public static final CookieRecipe CHOCOLATE_CHIP = Registry.register(ExampleRegistries.COOKIE_RECIPE, NamespacedIdentifiers.from("example", "chocolate_chip"), new ChocolateChipCookieRecipe()); public static void init() { } } ``` ### Registry Sync Numerical IDs may be used for serialization in server-client communication or in world saves. If this is the case, you must register your registry to be synchronized. ```java public final class ExampleRegistries { public static final ResourceKey<Registry<CookieRecipe>> COOKIE_RECIPE_REGISTRY = RegistryKeys.from(NamespacedIdentifiers.from("example", "cookie_recipe")); public static final Registry<CookieRecipe> COOKIE_RECIPE = Registries.registerDefaulted(COOKIE_RECIPE_RECIPES, NamespacedIdentifiers.from("example", "chocolate_chip"), CookieRecipes::init); public static void init() { SyncedRegistries.register(COOKIE_RECIPE_REGISTRY); } } ``` It is not recommended that you use the numerical IDs for any other purposes. If it is unavoidable, however, you can register a custom `IdMapper` or `IdFixer` to ensure there are no network desync or corruption bugs. This API provides several `IdMapper` implementations you can use, such `BooleanArrayMapper`, `IntArrayMapper`, `ListMapper`, and `Int2ObjectMapMapper`. You can of course create a custom implementation as well. See below for some examples from OSL's Blocks and Items APIs. ```java // the `EndermanEntity.HOLDABLE_BLOCKS` array uses block IDs as indices to the array! SyncedRegistries.registerMapper(RegistryKeys.BLOCK, NamespacedIdentifiers.from("block/enderman_holdable"), BooleanArrayMapper.of(() -> EndermanEntity.HOLDABLE_BLOCKS, a -> EndermanEntity.HOLDABLE_BLOCKS = a)); ``` ```java // these maps in `ItemModelShaper` use item IDs as keys to the map! SyncedRegistries.registerMapper(RegistryKeys.ITEM, NamespacedIdentifiers.from("item_model_location"), ItemModelRegistryMapper.of(this.models)); SyncedRegistries.registerMapper(RegistryKeys.ITEM, NamespacedIdentifiers.from("item_model"), ItemModelRegistryMapper.of(this.modelCache)); ``` ## Blocks 0.2.0 Transitioned to the new Registries API and implemented Registry Sync. This comes with some API changes, the biggest of which is the deprecation of the `register(int, NamespacedIdentifier, Block)` method in 17w46a and below, in favor of `register(NamespacedIdentifier, Block)`, which automatically assigns a numerical ID to the block. ```diff --BlockRegistry.register(999, NamespacedIdentifiers.from("example", "cookie"), new CookieBlock()); ++BlockRegistry.register(NamespacedIdentifiers.from("example", "cookie"), new CookieBlock()); ``` In versions between 12w07a and 1.6.4 you can pass a special value into the `Block` constructor to trigger automatic ID assignment: ```java BlockRegistry.register(NamespacedIdentifiers.from("example", "cookie"), new CookieBlock(Block.AUTO_ASSIGN_ID)); ``` ## Items 0.2.0 Transitioned to the new Registries API and implemented Registry Sync. This comes with some API changes, the biggest of which is the deprecation of the `register(int, NamespacedIdentifier, Item)` method in 17w46a and below, in favor of `register(NamespacedIdentifier, Item)`, which automatically assigns a numerical ID to the item. ```diff --ItemRegistry.register(999, NamespacedIdentifiers.from("example", "cookie"), new CookieItem()); ++ItemRegistry.register(NamespacedIdentifiers.from("example", "cookie"), new CookieItem()); ``` In versions between 1.6.4 and below you can pass a special value into the `Item` constructor to trigger automatic ID assignment: ```java ItemRegistry.register(NamespacedIdentifiers.from("example", "cookie"), new ItemBlock(Item.AUTO_ASSIGN_ID)); ``` ## Networking 0.10.0 ### Connection Events Connection events have been overhauled to fix some issues and add more features. For all connection events, listeners now receive a `context` object that holds information about the connection. The context objects give access to the following: ```java ClientConnectionContext { Minecraft minecraft(); // singleplayer connections only String worldName(); // multiplayer connections only String serverAddress(); int serverPort(); // whether the connection is singleplayer boolean isServerLocal(); // DISCONNECT events only TextComponent disconnectReason(); } ``` ```java ServerConnectionContext { MinecraftServer server(); ServerPlayerEntity player(); // DISCONNECT events only TextComponent disconnectReason(); } ``` Here are some example usages of the new API: ```java ClientConnectionEvents.LOGIN.register(context -> { Minecraft minecraft = context.minecraft(); if (context.isServerLocal()) { String worldName = context.worldName(); } else { String serverAddress = context.serverAddress(); int serverPort = context.serverPort(); } }); ``` ```java ServerConnectionEvents.DISCONNECT.register(context -> { TextComponent disconnectReason = context.disconnectReason(); }); ``` ### Fixes - Fixed `DISCONNECT` events not being fired on the side that initiated the disconnect (e.g. when leaving the server the event was not fired client-side, and when kicking a player the event was not fired server-side). - Fixed crash in 1.14 server environments. - Fixed crash in 12w18a-12w19a due to invalid `mixins.json`. ## Resource Loader 0.8.0 ### Resource Locations The `ResourceLocation` class now has a factory method for creating a `NamespacedIdentifier` representing a resource location, that always uses the proper validation for the runtime Minecraft version and supported resource pack format. The validation rules are: - Resource pack format 1 and 2 (1.10.2 and below): no uppercase letters ([A-Z]) in namespaces, no validation on paths. - Resource pack format 3 (16w32a-17w47a): no uppercase letters ([A-Z]) in namespaces nor in paths. - Resource pack format 4 (17w48a and above): only [-.\_a-z0-9] allowed in namespaces and only [-.\_/a-z0-9] allowed in paths. ```java NamespacedIdentifier resourceLocation = ResourceLocation.of("example", "path/to/resource"); // check if the resource location is valid for the runtime Minecraft version and resource pack format ResourceLocation.isValid(resourceLocation); ResourceLocation.isValidNamespace("example"); ResourceLocation.isValidPath("path/to/resource"); ``` ### Resource Packs The pack icon for resource packs added through custom repository sources now falls back to the default pack icon if none is provided. In prior OSL versions the pack icon would fall back to the missing texture instead, which did not match Vanilla behavior. ### Fixes - ([#76](https://github.com/OrnitheMC/ornithe-standard-libraries/pull/76)) Fixed errors thrown during `RESOURCE_RELOAD_END` events being silently caught instead of rethrown. - Fixed crashes due to improper resource location validation. - Fixed resource metadata sometimes not loading in 1.13 and above. - Fixed sound freeze issues due to a `ZipFileSystem` thread interrupt bug. - Fixed crash in 12w15a-12w17a due to an invalid mixin. ## Localization 0.1.1 - Fixes potential NPEs if localization is not set up. - Fixes formatting errors in some versions (like command feedback in 1.6) by replacing illegal/unsupported formatting codes. ## Text Components 0.1 Alpha 4 Vanilla `Text` components can now be converted to OSL `TextComponent`s through `TextComponents.resolve`. ```java TextComponent literalText = TextComponents.resolve(new LiteralText("This is text!")); TextComponent translatableText = TextComponents.resolve(new TranslatableText("this.is.text")); ``` ## Text Components 0.1 Alpha 5 Fixes a start-up crash in 1.6.4 and below due to a missing entrypoint.
beta

Ornithe Standard Libraries 0.20.3

0.20.3
7 июл. 2026 г.22,9 тыс.Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
# Ornithe Standard Libraries 0.20.3 OSL 0.20.3 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Resource Loader 0.7.4 - Fixed more texture pack issues.
beta

Ornithe Standard Libraries 0.20.2

0.20.2
6 июл. 2026 г.413Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
# Ornithe Standard Libraries 0.20.2 OSL 0.20.2 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Resource Loader 0.7.3 - Fixed texture pack resetting to default on game start-up.
beta

Ornithe Standard Libraries 0.20.1

0.20.1
26 июн. 2026 г.2,8 тыс.Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
# Ornithe Standard Libraries 0.20.1 OSL 0.20.1 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Blocks 0.1.1 - Fixed being unable to place blocks in air in Minecraft 1.1 and below. ## Text Components 0.1 Alpha 3 Now supports Minecraft Alpha 1.0.1_01-1.0.17_04
beta

Ornithe Standard Libraries 0.20.0

0.20.0
25 июн. 2026 г.294Minecraft: a1.0.4, a1.0.5_01, a1.0.11, a1.0.14, a1.0.15, a1.0.16, a1.0.17_02, a1.0.17_04, a1.1.0, a1.1.2, a1.1.2_01, a1.2.0, a1.2.0_01, a1.2.0_02, a1.2.1, a1.2.1_01, a1.2.2a, a1.2.2b, a1.2.3, a1.2.3_01, a1.2.3_02, a1.2.3_04, a1.2.4_01, a1.2.5, a1.2.6, b1.0, b1.0_01, b1.0.2, b1.1_01, b1.1_02, b1.2, b1.2_01, b1.2_02, b1.3b, b1.3_01, b1.4, b1.4_01, b1.5, b1.5_01, b1.6, b1.6.1, b1.6.2, b1.6.3, b1.6.4, b1.6.5, b1.6.6, b1.7, b1.7.2, b1.7.3, b1.8, b1.8.1, 1.0, 1.1, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3, 1.3.1, 1.3.2, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.5, 1.5.1, 13w16a, 13w16b, 1.5.2, 13w17a, 13w18a, 13w18b, 13w18c, 13w19a, 13w21a, 13w21b, 13w22a, 13w23a, 13w23b, 13w24a, 13w24b, 13w25a, 13w25b, 13w25c, 13w26a, 1.6, 1.6.1, 1.6.2, 13w36a, 13w36b, 13w37a, 1.6.3, 13w37b, 1.6.4, 13w38a, 13w38b, 13w38c, 13w39a, 13w39b, 13w41a, 13w41b, 13w42a, 13w42b, 13w43a, 1.7, 1.7.1, 1.7.2, 13w47a, 13w47b, 13w47c, 13w47d, 13w47e, 13w48a, 13w48b, 13w49a, 1.7.3, 1.7.4, 14w02a, 14w02b, 14w02c, 14w03a, 14w03b, 14w04a, 14w04b, 14w05a, 14w05b, 14w06a, 14w06b, 14w07a, 1.7.5, 14w08a, 14w10a, 14w10b, 14w10c, 1.7.6-pre1, 1.7.6-pre2, 14w11a, 1.7.6, 1.7.7, 1.7.8, 1.7.9, 14w11b, 14w17a, 14w18a, 14w18b, 14w19a, 1.7.10-pre1, 1.7.10-pre2, 1.7.10-pre3, 1.7.10-pre4, 1.7.10, 14w20a, 14w20b, 14w21a, 14w21b, 14w25a, 14w25b, 14w26a, 14w26b, 14w26c, 14w27a, 14w27b, 14w28a, 14w28b, 14w29a, 14w29b, 14w30a, 14w30b, 14w30c, 14w31a, 14w32a, 14w32b, 14w32c, 14w32d, 14w33a, 14w33b, 14w33c, 14w34a, 14w34b, 14w34c, 14w34d, 1.8-pre1, 1.8-pre2, 1.8-pre3, 1.8, 1.8.1-pre1, 1.8.1-pre2, 1.8.1-pre3, 1.8.1-pre4, 1.8.1-pre5, 1.8.1, 1.8.2-pre1, 1.8.2-pre2, 1.8.2-pre3, 1.8.2-pre4, 1.8.2-pre5, 1.8.2-pre6, 1.8.2-pre7, 1.8.2, 1.8.3, 15w14a, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 15w31a, 15w31b, 15w31c, 15w32a, 15w32b, 15w32c, 15w33a, 15w33b, 15w33c, 15w34a, 15w34b, 15w34c, 15w34d, 15w35a, 15w35b, 15w35c, 15w35d, 15w35e, 15w36a, 15w36b, 15w36c, 15w36d, 15w37a, 15w38a, 15w38b, 15w39a, 15w39b, 15w39c, 15w40a, 15w40b, 15w41a, 15w41b, 15w42a, 15w43a, 15w43b, 15w43c, 15w44a, 15w44b, 15w45a, 15w46a, 15w47a, 15w47b, 15w47c, 15w49a, 1.8.9, 15w49b, 15w50a, 15w51a, 15w51b, 16w02a, 16w03a, 16w04a, 16w05a, 16w05b, 16w06a, 16w07a, 16w07b, 1.9-pre1, 1.9-pre2, 1.9-pre3, 1.9-pre4, 1.9, 1.9.1-pre1, 1.9.1-pre2, 1.9.1-pre3, 1.9.1, 1.9.2, 1.RV-Pre1, 16w14a, 16w15a, 16w15b, 1.9.3-pre1, 1.9.3-pre2, 1.9.3-pre3, 1.9.3, 1.9.4, 16w20a, 16w21a, 16w21b, 1.10-pre1, 1.10-pre2, 1.10, 1.10.1, 1.10.2, 16w32a, 16w32b, 16w33a, 16w35a, 16w36a, 16w38a, 16w39a, 16w39b, 16w39c, 16w40a, 16w41a, 16w42a, 16w43a, 16w44a, 1.11-pre1, 1.11, 16w50a, 1.11.1, 1.11.2, 17w06a, 17w13a, 17w13b, 17w14a, 17w15a, 17w16a, 17w16b, 17w17a, 17w17b, 17w18a, 17w18b, 1.12-pre1, 1.12-pre2, 1.12-pre3, 1.12-pre4, 1.12-pre5, 1.12-pre6, 1.12-pre7, 1.12, 17w31a, 1.12.1-pre1, 1.12.1, 1.12.2-pre1, 1.12.2-pre2, 1.12.2, 17w43a, 17w43b, 17w45a, 17w45b, 17w46a, 17w47a, 17w47b, 17w48a, 17w49a, 17w49b, 17w50a, 18w01a, 18w02a, 18w03a, 18w03b, 18w05a, 18w06a, 18w07a, 18w07b, 18w07c, 18w08a, 18w08b, 18w09a, 18w10a, 18w10b, 18w10c, 18w10d, 18w11a, 18w14a, 18w14b, 18w15a, 18w16a, 18w19a, 18w19b, 18w20a, 18w20b, 18w20c, 18w21a, 18w21b, 18w22a, 18w22b, 18w22c, 1.13-pre1, 1.13-pre2, 1.13-pre3, 1.13-pre4, 1.13-pre5, 1.13-pre6, 1.13-pre7, 1.13-pre8, 1.13-pre9, 1.13-pre10, 1.13, 18w30a, 18w30b, 18w31a, 18w32a, 18w33a, 1.13.1-pre1, 1.13.1-pre2, 1.13.1, 1.13.2-pre1, 1.13.2-pre2, 1.13.2, 18w43a, 18w43b, 18w43c, 18w44a, 18w45a, 18w46a, 18w47a, 18w47b, 18w48a, 18w48b, 18w49a, 18w50a, 19w02a, 19w03a, 19w03b, 19w03c, 19w04a, 19w04b, 19w05a, 19w06a, 19w07a, 19w08a, 19w08b, 19w09a, 19w11a, 19w11b, 19w12a, 19w12b, 19w13a, 19w13b, 3D-Shareware-v1.34, 19w14a, 19w14b, 1.14-pre1, 1.14-pre2, 1.14-pre3, 1.14-pre4, 1.14-pre5, 1.14, 1.14.1-pre1, 1.14.1-pre2, 1.14.1, 1.14.2-pre1, 1.14.2-pre2, 1.14.2-pre3, 1.14.2-pre4, 1.14.2, 1.14.3-pre1, 1.14.3-pre2, 1.14.3-pre3, 1.14.3-pre4, 1.14.3, 1.14.4-pre1, 1.14.4-pre2, 1.14.4-pre3, 1.14.4-pre4, 1.14.4-pre5, 1.14.4-pre6, 1.14.4-pre7, 1.14.4ornithe
Скачать
Что нового
# Ornithe Standard Libraries 0.20.0 OSL 0.20.0 supports Minecraft versions between Alpha 1.0.1_01 and Release 1.14.4. ## Core 0.9.0 Added new registry utilities for the Blocks and Items APIs. ## Blocks 0.1.0 The Blocks API provides events and utilities for registering blocks. ### Events - `REGISTER_BLOCKS`: this event is invoked right after Vanilla block registration is completed. Mods should register blocks in listeners to this event. ### Block Registry The `BlockRegistry` class provides public access to the block registry, including a helper method for registering blocks. ```java int getId(Block) NamespacedIdentifier getKey(Block) Block getBlock(int) Block getBlock(NamespacedIdentifier) Set<NamespacedIdentifier> keySet() // 17w46a- Block register(int, NamespacedIdentifier, Block) // 17w47a+ Block register(NamespacedIdentifier, Block) ``` ### Block Extension This API extends the `Block` class with some functionality from later Minecraft versions. - Added `boolean isAir()` method in 17w46a and below. - Added `boolean is(Block)` method in 1.6.4 and below. ### Usage ```java package com.example; import net.ornithemc.osl.blocks.api.BlockEvents; import net.ornithemc.osl.entrypoints.api.ModInitializer; public class ExampleInitializer implements ModInitializer { @Override public void init() { BlockEvents.REGISTER_BLOCKS.register(ExampleBlocks::init); } } ``` ```java package com.example; import net.minecraft.block.Block; import net.ornithemc.osl.blocks.api.BlockRegistry; import net.ornithemc.osl.core.util.NamespacedIdentifiers; public final class ExampleBlocks { public static final CookieBlock COOKIE = BlockRegistry.register(NamespacedIdentifiers.from("example", "cookie"), new CookieBlock()); public static void init() { } } ``` ## Items 0.1.0 The Items API provides events and utilities for registering items. ### Events - `REGISTER_ITEMS`: this event is invoked right after Vanilla item registration is completed. Mods should register items in listeners to this event. - `REGISTER_BLOCK_ITEMS` (for 1.6.4 and below only): this event is invoked right after Vanilla block item registration is completed. Mods should register block items in listeners to this event. ### Item Registry The `ItemRegistry` class provides public access to the item registry, including helper methods for registering items. ```java int getId(Item) NamespacedIdentifier getKey(Item) Item getItem(int) Item getItem(NamespacedIdentifier) Set<NamespacedIdentifier> keySet() Item register(Block) Item register(Block, Item) Item register(BlockItem) // 17w46a- Item register(int, NamespacedIdentifier, Item) // 17w47a+ Item register(NamespacedIdentifier, Item) ``` ### Usage ```java package com.example; import net.ornithemc.osl.entrypoints.api.ModInitializer; import net.ornithemc.osl.items.api.ItemEvents; public class ExampleInitializer implements ModInitializer { @Override public void init() { ItemEvents.REGISTER_ITEMS.register(ExampleItems::init); } } ``` ```java package com.example; import net.minecraft.item.Item; import net.ornithemc.osl.core.util.NamespacedIdentifiers; import net.ornithemc.osl.items.api.ItemRegistry; public final class ExampleItems { public static final CookieItem COOKIE = ItemRegistry.register(NamespacedIdentifiers.from("example", "cookie"), new CookieItem()); public static void init() { } } ``` ## Keybinds 0.3.0 Keybinds API V2 is a minor rewrite of the Keybinds API. The API V1 is still present, but deprecated. ### Events - `REGISTER_KEYBINDS`: this event is invoked upon game start-up, right after Vanilla keybinds have been initialized. Mods should register keybinds in listeners to this event. ### Keybind Registry The `KeybindRegistry` class provides public access to the keybind registry, including helper methods for registering keybinds. ```java Set<String> getCategories() register( String: name, int: defaultKeyCode, String: category ) // 17w43a+ register( String: name, InputConstants.Type: type, int: defaultKeyCode, String: category ) register(KeyBinding) ``` ### Usage ```java package com.example; import net.ornithemc.osl.entrypoints.api.client.ClientModInitializer; import net.ornithemc.osl.keybinds.api.KeybindEvents; public class ExampleInitializer implements ClientModInitializer { @Override public void initClient() { KeybindEvents.REGISTER_KEYBINDS.register(ExampleKeybinds::init); } } ``` ```java package com.example; import org.lwjgl.glfw.GLFW; import net.minecraft.client.options.KeyBinding; import net.ornithemc.osl.keybinds.api.KeybindRegistry; public final class ExampleKeybinds { public static final KeyBinding COOKIE = KeybindRegistry.register("cookie", GLFW.GLFW_KEY_Z, "example"); public static void init() { } } ```