package luckyblock.action.triggers; import luckyblock.action.LuckyActionHolder; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import java.util.ArrayList; import java.util.List; public class BroadcastTrigger implements ILuckyTrigger { @Override public String getName() { return "broadcast"; } @Override public void execute(ServerLevel level, BlockPos pos, LuckyActionHolder holder, RandomSource random) { if (holder.json != null) { List messages = new ArrayList<>(); if (holder.json.isJsonArray()) { holder.json.getAsJsonArray().forEach(e -> messages.add(e.getAsString())); } else if (holder.json.isJsonPrimitive()) { messages.add(holder.json.getAsString()); } for (String msg : messages) { level.getServer().getPlayerList().broadcastSystemMessage(Component.literal(msg), false); } } } }