Skip to content

cinnamondev/minemoji

Repository files navigation

minemoji

Use emotes in minecraft! Does not interfere with resource packs as it uses the new Object components :)

Animated sprites supported, will work with DiscordSRV (translate the discord emotes -> minemoji emotes and v.v)

(Supports Paper 1.21.9/10+!)

demo.mp4

Permissions

  • minemoji.emoji: Use emotes (defaults to true)
  • minemoji.list: List emotes (defaults to true)
  • minemoji.reload: Reload packs (defaults to OP)

Config

unicode-emojis:
  enabled: true # default option, set to false to disable default emojis...
  uri: "https://cinnamondev.github.io/minemoji/packs/twemoji-latest.zip"

custom-packs:
  # download json files from sources before loading.
  download: false # place jsons in plugins/minemoji/packs/*.json otherwise
  packs:
    - "https://cinnamondev.github.io/minemoji/packs/minemoji-latest.json" # Minemoji example pack
enforce-pack: true
# use minimessage!  :) remove entry to disable prompt
join-prompt: "This server uses resource pack to allow players to use emotes in gamechat :) <click:open_url:'https://github.com/cinnamondev/minemoji'><u><b><aqua>About</aqua></b></u></click>"

Default config. Add json files served by websites containing pack information to download emote packs. The uri specified in unicode-emojis should point to a resource pack, however.

PackMaker

Make emote resource packs + json files out of input directories. Example command:

java -cp minemoji.jar com.github.cinnamondev.minemoji.PackMaker.PackMaker 
  --input-directory ./sample_pack/
  --output-directory ./minemoji-latest
  --width 32
  --prefix minemoji
  --pack-url https://cinnamondev.github.io/minemoji/packs/minemoji-latest.zip
  --zip-pack --delete-directory

The corresponding emoji lookup files will be put in the root of the resource pack and in <JAR LOCATION|plugins>/minemoji/packs/*.json.

If you generate a unicode emote pack, use prefix unicode and argument --skip-packgen, which will disable generating a unicode.json file (as the unicode emote set is 'pre-baked')

Supports GIF, Svg, Png, etc... Anything Java ImageIO can process... File names will be taken as sprite names.

In the input directory, if you put files ending with .info corresponding to the emotes, i.e.: ralsei_spin.gif and ralsei_spin.gif.info, you can change:

  • The max frame rate of an animated emote (the default and absolute max is 20)
    • This is done with line entries beginning with f i.e.: f10
  • The discord ID of an emote (and if applicable, prefixed with a if animated)
    • i.e: trans_bee.png.info containing 1031671707762688060
    • ralsei_spin.gif.info containing a1427385442843758682

license

licensed under apache 2.0 license