Yamipa v1.2.2

Yet Another Minecraft Image Placing Addon

  1. josemmo
    Native Minecraft Version:
    1.18
    Tested Minecraft Versions:
    • 1.16
    • 1.17
    • 1.18
    Source Code:
    https://github.com/josemmo/yamipa
    Yet Another Minecraft Image Placing Addon

    Yamipa is an Spigot plugin that allows players to place images (even animated!) on any surface in your Minecraft server without having to install any local client mod.

    It is designed with performance and compatibility in mind, so even the most low-specs servers should be able to run it.

    [​IMG] [​IMG] [​IMG]

    Installation
    Download the JAR file for the latest release and copy it to the "plugins" directory of your Minecraft server as you'll do with any other plugin. That's it!

    Requirements
    Before installing Yamipa make sure you meet the following requirements:
    • CraftBukkit, Spigot or PaperMC v1.16 or higher
    • ProtocolLib v4.6.1 or higher
    Here are the Minecraft distributions where Yamipa should be able to run:

    Configuration
    Yamipa is ready-to-go right out of the box. By default, it creates the following files and directories under the plugins/YamipaPlugin directory:
    • cache: A directory containing cached images to speed up the rendering process. You shouldn't modify its contents.
    • images: This is the directory where you put the image files you want to place in your Minecraft world.
    • images.dat: A file holding the list and properties (e.g. coordinates) of all placed images in your server. You shouldn't modify its contents.
    You can change the default path of these files by creating a config.yml file in the plugin configuration directory:

    verbose: false # Set to "true" to enable more verbose logging
    animate-images: true # Set to "false" to disable GIF support
    images-path: images # Path to images directory
    cache-path: cache # Path to cache directory
    data-path: images.dat # Path to placed images database file

    This library uses bStats to anonymously report the number of installs. If you don't like this, feel free to disable it at any time by adding enabled: false to the bStats configuration file (it's ok, no hard feelings).

    Usage
    This plugin adds the following commands:
    • /image clear <x z world> <r> [<placed-by>]: Remove all placed images in a radius of r blocks around an origin.
    • /image describe: Show detailed information about a placed image.
    • /image download <url> <filename>: Download an image from a URL and place it in the images directory.
    • /image give <player> <filename> <amount> <w> [<h>] [<flags>]: Give image items that can be placed later to a player.
    • /image list [<page>]: List all available files in the images directory.
    • /image place <filename> <w> [<h>] [<flags>]: Place an image of size wxh blocks.
    • /image remove: Remove a placed image from the world without deleting the image file.
    • /image top: List players with the most placed images.
    Examples
    • Show help
      /image
    • Download an image from a URL and save it with another name
      /image download "https://www.example.com/a/b/c/1234.jpg" imagename.jpg
    • Give 10 image items to "TestPlayer" for the "test.jpg" image (3x5 blocks)
      /image give TestPlayer test.jpg 10 3 5
    • Give 10 image items to "TestPlayer" that will not drop an image item when removed
      /image give TestPlayer test.jpg 10 3 5 -DROP
    • Start the dialog to place an image with a width of 3 blocks and auto height
      /image place imagename.jpg 3
    • Start the dialog to place a 3-blocks wide and 2-blocks high image
      /image place imagename.jpg 3 2
    • Start the dialog to place an image that glows in the dark
      /image place imagename.jpg 3 2 +GLOW
    • Start the dialog to remove a placed image while keeping the original file
      /image remove
    • Remove all placed images in a radius of 5 blocks around the spawn
      /image clear 0 0 world 5
    • Remove all images placed by "EvilPlayer" in a radius of 100 blocks in the nether
      /image clear 50 70 world_nether 100 EvilPlayer
    • Remove all legacy placed images (without "placed by" metadata)
      /image clear 0 0 world 9999999 00000000-0000-0000-0000-000000000000
    Permissions
    If you want more granular control over the players who can use a particular set of commands, permissions are the way to go!

    Yamipa defines the following permissions, each one corresponding to the command with the same name:
    • yamipa.clear
    • yamipa.describe
    • yamipa.download
    • yamipa.give
    • yamipa.list
    • yamipa.place
    • yamipa.remove
    • yamipa.top
    By default, only server OPs have all permissions granted. You can change this by using a permission plugin, such as LuckPerms or GroupManager.

    Both these plugins have been tested to work with Yamipa, although any similar one should work just fine.

    Flags
    Images from this plugin have a set of boolean attributes called "flags" that modify its behavior. Possible values are:
    • ANIM (animatable): Whether an image should be animated or not, useful when you don't want a GIF image to play.
    • REMO (removable): Whether an image can be removed by any player by left-clicking it.
    • DROP (droppable): Whether an image drops an image item when is removed by any player.
    • GLOW (glowing): Whether an image glows in the dark (only works on Minecraft 1.17 and above).
    By default, images placed with the "/image place" command only have the ANIM flag. Similarly, image items issued with the "/image give" command have ANIM, REMO and DROP flags.

    Default flags can be modified through the "" argument. To add a flag to the default ones use "+{FLAG_NAME}" (e.g. +GLOW), and to remove it use "-{FLAG_NAME}" (e.g. -ANIM). You can modify multiple flags separating them with commas (e.g. +GLOW,-ANIM).

    How does it work?
    As you may have already guessed, Minecraft does not support the placing of image files. Yamipa bypasses this limitation by using two built-in features (item frames and maps) to render custom images.

    However, because item frames are entities (and these cause a lot of lag in a server), Yamipa does not actually create any entity in your world. Instead, it tricks your players' clients into thinking there's a placed item frame where there isn't by sending crafted network packets.

    In the case of animated images (i.e. GIFs), Yamipa sends all animation frames to the player (which takes a decent amount of bandwidth) and then sends a tiny packet telling the client to switch to the next animation step (i.e. map) every few milliseconds.

    IMPORTANT!
    Because Yamipa stores a cached copy of an image in memory whenever a player is near it just in case it needs to send it again without compromising performance, your server needs to have a bit of spare RAM to handle this.

    The rule of thumb here is 100K per unique loaded image (1MB for animated images). Unique means if the same image with same dimensions is placed multiple times it only counts as one instance.

    License
    Yamipa is licensed under the MIT License.

Recent Updates

  1. v1.2.2
  2. v1.2.1
  3. v1.2.0 (animated images + MC 1.18)

Recent Reviews

  1. Dagrond
    Dagrond
    5/5,
    Version: v1.2.2
    This plugin is way better than any other image-placing plugin. Best performance, and a lot of options to configure your images. I hope you'II continue development of this plugin because I love it!
  2. Wolfee321
    Wolfee321
    4/5,
    Version: v1.2.2
    Pretty good plugin! It's quite easy to use, admin and player wise! Could use a little fixing however. It'd be much easier to use if you had better syntax explanations to the commands. I.e typing the commands would show you have to put quotation marks around urls. Also adding a command to remove images from the database would be super helpful too!
  3. DozerCraft
    DozerCraft
    5/5,
    Version: v1.2.2
    Very good plugin! Simple and works perfectly! Highly recommended to give a better look to a lobby.
  4. WonVuSa
    WonVuSa
    5/5,
    Version: v1.2.2
    It's so good that I so happy to use it. Hope you can develop it until forever. Also will I use it playing with friends to build buildings.
  5. t0rguin
    t0rguin
    5/5,
    Version: v1.2.1
    High quality plugin. Simple and intuitive. Just yesterday I placed some images but wanted them to glow and today an update came out for glowing images.
  6. crston
    crston
    5/5,
    Version: v1.2.0
    Really good plugin I honestly think this is better than the CustomImage plugin.
    customimage plugin is not good because it takes time to load the image, but the plugin saves the cache so you can view the image right away Really good plugin
  7. Cruees
    Cruees
    5/5,
    Version: v1.2.0
    ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤
    ❤ ❤ ❤Best image plugin on spigot❤ ❤ ❤
    ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤ ❤
  8. Akimbo_
    Akimbo_
    5/5,
    Version: v1.1.1
    Works flawlessly in 1.17.1. Wish it had some extra features like player's only being able to view/place their own downloaded images; but still a great plugin nonetheless.
  9. shuiqing2046
    shuiqing2046
    5/5,
    Version: 1.0.4
    ===========================================
    I don't know how to evaluate it. But it's really useful.
    ===========================================
  10. __M16__
    __M16__
    5/5,
    Version: 1.0.3
    Easy to use, intuitive, and perfect for what I needed. Would recommend to anyone; images are so much better at giving information then signs lol