MapEngine 图标

MapEngine

作者:rebot | 分类:模组

价格:0 墨喵币 下载量:0 点赞:0 版本 1.8.12
本资源为搬运资源,原资源地址: https://modrinth.com/mod/mapengine
资源信息

Minecraft 版本: 1.20 1.20.1 1.20.2 1.20.3 1.20.4 1.20.5 1.20.6 1.21 1.21.1 1.21.2 1.21.3 1.21.4 1.21.5 1.21.6 1.21.7 1.21.8 1.21.9 1.21.10 1.21.11 26.1 26.1.1 26.1.2

平台: paper purpur

标签: library utility

资源介绍

MapEngine

logo

GitHub tag (latest by date)
AGPLv3 License
Status Beta

Description

MapEngine is a map library plugin for paper servers. It provides a simple API to create maps with custom content.
Using lightweight and asynchronous techniques, MapEngine has a very low impact on server performance.

Features

  • Pipelined API for custom pipelines
  • Asynchronous rendering
  • Completely packet based
  • Optional dithering (Floyd-Steinberg)
  • Groups as z-layer interpretation for saving immense network traffic
  • Per player buffering, only the changed pixels are sent to the player
  • Optional packet bundling prevents tearing
  • Drawing utilities (text, components, lines, triangles, rectangles, circles, ellipses, polygons)
Color Conversion Cache Performance Graph ![Performance Graph](https://i.imgur.com/TtVSqyq.png) Live streaming via RTMP on maps This is an example of a live stream on a map. The stream is played on a 7x4 map array. The Stream source is 1920x1080@20 streamed with OBS. [![Watch it here](https://i.imgur.com/h1e9ROE.png)](https://youtu.be/5tg_DX84eLw) Floyd Sternberg dithering This is an example of a map with Floyd-Steinberg dithering enabled. The stream is played on a 7x4 map array. The Stream source is 1920x1080@20 streamed with OBS. [![Watch it here](https://i.imgur.com/Q8Jg0oo.png)](https://youtu.be/b2wxlgllsQs)

Javadoc

A hosted version of the javadoc can be found here.

Support

Server Version Supported
Paper 1.21.11 ✔️
Paper 1.21.10 ✔️
Paper 1.21.9 ✔️
Paper 1.21.8 ✔️
Paper 1.21.7 ✔️
Paper 1.21.6 ✔️
Paper 1.21.5 ✔️
Paper 1.21.4 ✔️
Paper 1.21.3 ✔️
Paper 1.21.2 ✔️
Paper 1.21.1 ✔️
Paper 1.21 ✔️
Paper 1.20.x ✔️
Paper 1.19.4 ✔️
Paper 1.19.3 ✔️

Usage

MapEngine has to be added as a dependency to the plugin.yml regardless of the build system used.

Maven ```xml minceraft https://repo.minceraft.dev/releases/ ``` ```xml de.pianoman911 mapengine-api 1.8.11 provided ``` Gradle (groovy) ```groovy repositories { maven { url = 'https://repo.minceraft.dev/releases/' name = 'minceraft' } } dependencies { compileOnly 'de.pianoman911:mapengine-api:1.8.11' } ``` Gradle (kotlin) ```kotlin repositories { maven("https://repo.minceraft.dev/releases/") { name = "minceraft" } } dependencies { compileOnly("de.pianoman911:mapengine-api:1.8.11") } ```

Example

public class Bar {

    // getting the api instance
    private static final MapEngineApi MAP_ENGINE = Bukkit.getServicesManager().load(MapEngineApi.class);

    public void foo(BufferedImage image, BlockVector cornerA, BlockVector cornerB, BlockFace facing, Player viewer) {
        // create a map display instance
        IMapDisplay display = MAP_ENGINE.displayProvider().createBasic(cornerA, cornerB, facing);
        display.spawn(viewer); // spawn the map display for the player

        // create an input pipeline element
        // this object can also be used to draw simple shapes and text
        IDrawingSpace input = MAP_ENGINE.pipeline().createDrawingSpace(display);

        // draw the image to the input pipeline element
        input.image(image,0,0);

        // draw a triangle
        input.triangle(0, 0, 10, 10, 20, 0, 0xff0000ff);

        // add a player to the pipeline context,
        // making the player receive the map
        input.ctx().receivers().add(viewer);

        // enable floyd-steinberg dithering
        input.ctx().converter(Converter.FLOYD_STEINBERG);

        // enable per player buffering
        input.ctx().buffering(true);

        // flush the pipeline
        // the drawing space can be reused
        input.flush();
    }
}

More detailed examples can be found in
the MinceraftMC/MapEngineExamples repository.

Building

  1. Clone the project (git clone https://github.com/MinceraftMC/MapEngine.git)
  2. Go to the cloned directory (cd MapEngine)
  3. Build the Jar (./gradlew build on Linux/MacOS, gradlew build on Windows)

The plugin jar can be found in the buildlibs directory

📥 下载与版本
评论(0)
登录 后发表评论。

暂无评论,抢个沙发吧~

举报此资源

请登录后举报

🔥 相关推荐
Yeehaw Towns!

价格:0 墨喵币
下载量:0

查看详情
No Bobber Overlay

价格:0 墨喵币
下载量:0

查看详情
Enhanced

价格:0 墨喵币
下载量:0

查看详情
Refined Storage: Powerless Addon

价格:0 墨喵币
下载量:0

查看详情