MULTIFICATION / GUIDE

Migration Guide

Migrate from legacy messaging systems to Multification

Edit on GitHub

From ChatColor + String Concatenation#

Old
String msg = ChatColor.GREEN + "Welcome, " + player.getName() + "!";
player.sendMessage(msg);
player.sendTitle(ChatColor.GOLD + "Welcome", "", 10, 70, 20);
player.playSound(player.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 1, 1);
New
multification.create()
    .player(player.getUniqueId())
    .notice(config -> config.welcomeMessage)
    .placeholder("{player}", player.getName())
    .send();

// In config:
public Notice welcomeMessage = Notice.builder()
    .chat("<green>Welcome, {player}!")
    .title("<gold>Welcome")
    .sound("minecraft:entity.player.levelup")
    .build();

From BukkitAudiences#

Old
private BukkitAudiences audiences;

@Override
public void onEnable() {
    audiences = BukkitAudiences.create(this);
}

@Override
public void onDisable() {
    if (audiences != null) audiences.close();
}

void send(Player player, String msg) {
    audiences.player(player).sendMessage(MiniMessage.miniMessage().deserialize(msg));
}
New
private MyMultification multification;

@Override
public void onEnable() {
    multification = new MyMultification(new MessagesConfig());
}
// No onDisable needed on Paper

void send(Player player) {
    multification.create()
        .player(player.getUniqueId())
        .notice(config -> config.message)
        .send();
}

Quick Migration Steps#

  1. Add dependency: multification-paper or multification-bukkit
  2. Create config class: Define Notice fields
  3. Create Multification class: Extend platform base class
  4. Replace calls: player.sendMessage(...) → multification.create()....send()